正则表达式匹配样例

(, 表示  “或”)

^  行首

^pic  picasdf, picqwer, pic1234, 

$  行尾

pic$  qwerpic

[]  多选一

[qwerty]  q,w,e,r,t,y

|  多组选一组

qwer|asdf  qwer, asdf

-  在[]内(不在首位)表示范围,在[]外或者[]首位则是普通字符, . + ?在[]内是普通字符, ^ 在[]内表示“取反”排除

[0-9a-zA-Z]  3,4,8,f,t,Q,W

[-0-9]  -,3,4

[^0-9]  任意非数字字符

·  通配符  \ 转义符

+  一个或多个

[0-9]+  1,123,98765

?  零个或一个

[0-9]?  1,2, ,3

*  零个或多个

[0-9]*  1,123,  ,98765

ps: a+等价于aa*  至少一个a

{}  规定重复次数

[0-9]{3,4}  123,3456,3235,939

\<,  \>  定界符

\<pic\>  pic

pic    picasso,asdpicqwe

() 与\1  \2  \3.. 配合使用,记录“上一次”匹配结果

(abc) any \1  abc any abc

(abc) any1 (def) any2 \1\2  abc any1 def any2 abcdef

(?=)匹配位置,(?<=)从右向左

(?=qwerty)qwer  qwer,但是无法匹配qwerasd

[ab]* VS (a*|b*)

[ab]*  abb,aabb,abb,

(a*|b*)  aaaaa,bbbbbbb,aa

-i  不区分大小写

相关推荐