正则表达式手册

Posted by Blog of JackerWang on December 4, 2017

Regular Expression 速查

特殊符号

1 \d

说明:匹配0-9的数字

用例:RE “\d” String “546575”

结果:5

2 \w

说明:匹配0-9的数字/大小写所有字母/下划线(但是不包括空格,这也是\w和 . 的最大区别,. 包含空格)

用例:RE “\w+” String “3543gdT_ FD”

结果:3543gdT_

量词符号

1 ^ $

说明:开始结束标记

用例:RE “^this is regix$” String “this is regix”

结果:this is regix

this is regix前面和后面加空格或者换行都不能匹配到。

2 *

说明:匹配任意个字符(贪婪模式)

用例:RE “a*” String “aaaaa”

结果:aaaaa

3 +

说明:匹配1个和大于1个数量的字符(贪婪模式)

用例:RE “a+” String “aaaaa”

结果:aaaaa

4 ?

说明:匹配0个或者1个字符(贪婪模式)

用例:RE “a?” String “aaaaa”

结果:a

5 *? +?

说明:懒惰模式

用例:RE “a+?” String “aaaaa”

结果:a

6 {}

说明:准确说明匹配的数量

{n} 匹配n次

{n,m} 匹配n到m次

{n,} 最少匹配n次(贪婪模式)

用例:RE “a{4}” String “aaaaa”

结果:aaaa

零宽度断言

1 (?<=exp)

说明:匹配exp开头的字符串(不包括exp)

用例:RE “(?<=rk)this is expr” String “rkthis is expr”

结果:this is expr

2 (?=exp)

说明:匹配exp结尾的字符串(不包括exp)

用例:RE “this is expr(?=rk)” String “this is exprrk”

结果:this is expr

修饰符

1 (?i) (?s)

说明:(?i)忽略大小写,(?s)可以让.匹配换行符。一般(?is)用得比较多


JackerWang 于2018年冬(1月23日)下午的广州