正则表达式基础

基础字符

? 相当于匹配0次或1次 {0,1}
* 相当于匹配0次或1次或多次 {0,}
+ 相当于匹配1次或多次 {1,}
\d 相当于[0-9],匹配0至9
\w 相当于[a-zA-Z0-9_],匹配大小写26个字母及数字和下划线
\s 匹配空白字符
\n 匹配换行

运算符

^ 开始标识符
() 域段,标记子字符串的开始和结束位置
[] 包含,默认是一个字符长度,方括号中匹配不需要加转义符号\
[^] 不包含,默认是一个字符长度
{n,m} 匹配n到m个字符长度,可以只填一个值
. 任何单个字符
| 或
\ 转义符号,在特殊符号前添加表示匹配特殊符号,如\?,\*匹配?和*,\\d匹配\d
$ 结尾标识符

定位符

\b 匹配字符串边界,如\b123\b只能匹配到123,不能匹配到0123或1234
\B 匹配非单词边界,如\Bend可匹配send,不能匹配end

示例

ab* => a , ab , abbb…
ab+ => ab , abb , abbb…
ab? => a , ab
a?b+ => b , ab , bb… , abbb…
a{3} => aaa
a{3,} => aaa , aaaa , aaaa…
a{3,5} => aaa , aaaa , aaaaa
{}指定范围可以不标明上限,但必须标明下限,最小为{0,}
aaa|bbb => aaa or bbb
(aa|bb)cc => aacc or bbcc
(a|b)*cc => acc or bcc or aaacc or bbbcc …
[a,b,c] => (a|b|c) => a , b , c
a.[0-9] => ab0 , ae0 [.可匹配任意字符]