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日)下午的广州