正则表达式

用于正则表达式的通配符:
 
\d   匹配数字0-9
 
\D   匹配任何非数字字符
 
\w   匹配单词字符, 包括大小写字母a-z, 
 
A-Z, 数字0-9和下划线_
 
\W   匹配任何非单词字符
 
\s   匹配任何空白字符, 包括空格 制表符 
 
换页符(即匹配\n \r \v \f 以及空格)
 
\S   匹配任何非空白字符
 
.    匹配除换行符(\n)之外的任何字符
 
 
可选字符集     [] 
 
[abc]    表示该位置可以出现字母a b c
 
[A-D]    表示该位置可以出现字母A B C D
 
[A-DM-P] 表示该位置可以出现字母A到D或M
 
到P
 
[12]     表示该位置可以出现数字12
 
[1-5]    表示该位置可以出现数字15
 
[0-57-9] 表示该位置可以出现除6以外的所
 
有数字
 
[\s\S]   表示该位置可以出现任何字符, 
 
包括任何可见字符和不可见字符
 
反向字符集  ^
 
[^x]    匹配除x以外的所有字符
 
[^abc]  匹配除a b c 以外的所有字符
 
[^0-9]  匹配除0-9以外的所有字符
 
[^#]    匹配除#以外的所有字符

[^\n]   匹配除换行符\n以外的所有字符
 
 
或匹配    |
 
"x|y"       匹配"x""y"
"(tr|b)ee"  匹配tree或bee
 
 
数量限定符  *  +  {}  ?
 
*      将前面的字符重复0或多次
 
+      将前面的字符重复1或多次
 
?      将前面的字符重复01次
 
{n}    将前面的字符重复n次
 
{n,}   将前面的字符至少重复n次
 
{n,m}  将前面的字符重复n至m次
 
*?     将前面的字符重复0或多次, 尽量少
 
重复
 
+?     将前面的字符重复1或多次, 尽量少
 
重复
 
??     将前面的字符重复01, 尽量少
 
重复
 
{n}?   将前面的字符重复n次, 尽量少重复
 
{n,}?  将前面的字符至少重复n次, 尽量少
 
重复
 
{n,m}? 将前面的字符重复n至m次, 尽量少
 
重复
 
 
定位符: ^   &   \b
 
^   匹配字符串的开头位置
 
&   匹配字符串的结尾位置
 
\b  匹配单词的边界位置
 
\B  匹配不是单词的边界位置
 
\G  匹配上一个匹配结果的位置
 
\A  匹配字符串开头位置, 类似^
 
\Z  匹配字符串结尾位置或换行符所在的位
 
置
 
\z  匹配字符串结尾位置, 类似&
 
 
分组  ():
asdfgas@qq.com
可以通过下面的正则表达式来匹配,
"(\w+)@(\w+)\.(\w+)"
()将上面的正则表达式分成3组
下面的正则表达式有5, 最外面的括弧为
 
第一组,最里面的括弧为第四和第五组
"( ( ) ( ( ) ( ) ) )"
 
 
非捕获分组 ?:
正向预查   ?=
反向预查   ?<=
负正向预查 ?!
负反向预查 ?<!

发表评论

电子邮件地址不会被公开。 必填项已用*标注