正则表达式小结

来源:互联网 发布:机加工成本计算软件 编辑:程序博客网 时间:2024/06/15 19:06
正则表达式:regex 英 ['redʒeks]
1,\d\d\d\d或者是\d{4}   表示匹配4位数的数字。
2.代码 说明。这些可被称作元字符。
. 匹配除换行符以外的任意字符1%*_jk2YH$#@Jj

\w 数字字母汉字下划线 bst456_5ghgtft
\s 匹配任意的空白符 space  table键和半全角空格
\d 匹配数字  digit

\D  非数字
\D\d 所有字符。
\b 匹配单词的开始或结束

4.
常用的限定符
代码/语法 说明
* 重复零次或更多次  [0-9]*    无或者无限个数字。
+ 重复一次或更多次
? 重复零次或一次     [0-9]?   0次或1次数字
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
5,综合利用
 width=".+?"| height=".+?"| class=".+?"| x:str|<font.+?>| cellpadding=".+?"| cellspacing=".+?"|<span.+?n>|<br/>|<!.+>|<col .+/>|<tr .+?/>| style='.+?'
 
6,()提升优先级的,分组。
 
7.^ 1.匹配字符串的开始,2.非
^[0-9]{2}[a-z]{3}$ :匹配下例 而不能匹配66ppp.匹配内容前后无内容了。
66ppp
注意^$指的是行首和行尾。
[0-9]{2}[a-z]{3} :66ppp  666ppp67867中的也匹配
^\d{5,12}$ (^$表示行首行位) 匹配整行是5到12位纯数字的字符串。

8.
通过下面的表达式可以匹配出HTML中的标签。
\\s]+))?)+\\s*|\\s*)/?>

9,身份证最后一位:[0-9xX]

10,? 重复零次或一次     [0-9]?   0次或1次数字
[1-9]{3}([a-z]{2})?    :123    123dd
11.例如身份证:
^[1-9]\d{5}[1-2]\d{3}((0[1-9])|(1[0-2]))(([0-2]\d)|(3[0-1]))\d{3}([0-9xX])$
12,邮箱
 [0-9a-zA-Z_.-]+@[0-9a-zA-Z_.]+([.][a-zA-Z]+){1,2}
 
13,零宽断言
(?<=<(\w+)>).*(?=<\/\1>)匹配不包含属性的简单HTML标签内里的内容。(<?(\w+)>)指定了这样的前缀:被尖括号括起来的单词(比如可能是<b>),然后是.*(任意的字符串),最后是一个后缀(?=<\/\1>)。注意后缀里的\/,它用到了前面提过的字符转义;\1则是一个反向引用,引用的正是捕获的第一组,前面的(\w+)匹配的内容,这样如果前缀实际上是<b>的话,后缀就是</b>了。整个表达式匹配的是<b>和</b>之间的内容(再次提醒,不包括前缀和后缀本身)。

15,匹配带网址的标签
加@,带属性的全部再加双引号。
@"<img id=""9833252"" title="""" border=""0"" src=""../../attachement/jpg/site351/20161006/(.+.jpg)"" sourcedescription=""编辑提供的本地文件"" sourcename=""本地文件""/>"
 
18 汉字类(为了去除:号,就在[]中额外添加了中文冒号)
[^\x00-\xff:]+           背负喷雾器:
   
 19】
原始字符串:我是程序员 
正则:(.*)(([^不是]|[^是]|)程序员)(.*) 
替换为:$1工程师$4


这样可以替换什么?比较复杂,它会匹配“程序员”,但是不能匹配“不是程序员”或者“是程序员”。 
这时正则里面有4个括号,所以最后一个匹配项要用$4。
\1是一个反向引用
$替换中的引用
20】
 vs2010的:(至[^(\:|:)])|(至$)
 匹配”至“后不带冒号的。
 至$:以至结尾的。
 
 21】标记html标签
 <(\S*?) [^>]*>|<[/]\w+>
 
 22】某html标签对
 vs2010中:\<style type="text\/css"\>(.|\n)@\<\/style\>   在vs2010中@相当于?
  
 普通:<style type="text/css">([\s\S]*?) </style>
 
 23】行
 ^(\s*)\r\n
 
 24】匹配:以汉字开头又以汉字结尾,中间可以是任意长度的字符
\b[^\x00-\xff].*[^\x00-\xff]\b
 若要非单行匹配则前面加:(?is)
 
 25】
 正则表达式测试器
 http://deerchao.net/
 和RegexBuddy
 
原创粉丝点击