正则表达式(Regular Expression)
是一种文本模式,包括普通字符a-z和特殊字符。正则表达式使用单个字符描述、匹配一系列匹配某个句法规则的字符串
^ 匹配输入字符串的开始位置
+ 匹配一个或者多个,等价于 {1,}
[0-9] 匹配单个数字
[0-9]+ 匹配多个数字
$ 匹配输入字符串的结束位置
abc$ 匹配abc ,并且以abc 结尾
? 匹配前面的子表达式 0 次或者 1次,或指明一个非贪婪限定符,等价于{0,1}
* 匹配前面的子表达式 0次或多次 ,等价于 {0,}
. 匹配除换行符 之外的任何单个字符。如果匹配 . ,需要使用 .
限定符
* 、+、?、{n}、{n,}、{n,m}
* 代表任意
{n} ,n 是非负整数,匹配确定的 n 次
{n,} ,n 是非负整数,最少匹配 n 次
{n,m} n,m 是非负整数,n<=m,最少n次,最多 m 次
字符集
[abc] 匹配 a 或者 b 或者 c
[^abc] 匹配非a或b或c 的其他字符
a | xy 匹配 a或者 xy ,如果都存在即都匹配
[a-z] 匹配 a-z 区间的字符
[^a-z] 匹配非 a-z 之间的字符
匹配单词的边界
B 非单词边界
d 匹配一个数字字符 等价 [0-9]
D 匹配一个非数字字符,等价[^0-9]
w 匹配一个字母、数字、下划线,等价 [A-Za-z0-9_]
W 非字母数字下划线 ,等价 [^A-Za-z0-9_]
非打印字符
换页符 | |
换行符 | |
回车符 | |
s | 任何空白字符,空格 |
S | 非空白字符 |
制表符 |