正则表达式
匹配单个字符
元字符 | 名称 | 匹配对象 |
---|---|---|
. | 点 | 匹配任意单个字符 |
[...] | 字符组 | 匹配单个列出的字符 支持POSIX字符类和字符组 |
[^....] | 排除性字符组 | 匹配单个未列出的字符 支持POSIX字符类和字符组 |
\char | 转义字符 | 如果char是元字符 |
POSIX字符类
[:alnum:]:匹配字面和数字字符。等同于A~Z,a~z,0~9
[:alpha:]:匹配字母字符。等同于A~Z,a~z
[:blank:]:匹配空格或制表符
[:cntrl:]:匹配控制字符[:digit:]:匹配十进制数字。等同于0~9
[:graph:]:匹配ASCII码值范围33~126的字符。与[:print:]相似,但不包括空格字符
[:print:]:与[:graph:]相同,但多了空格字符
[:lower:]:匹配小写字母,等同于a~z
[:upper:]:匹配大写字母,等同于A~Z
[:space:]:匹配空白字符(空格和制表符)
[:xdigit:]:匹配十六进制数字。等同于0~9,A~F,a~f
字符组简记
元字符 | 名称 | 含义 |
---|---|---|
\d | 数字 | 等价于[0-9] |
\D | 非数字字符 | 等价于[^0-9] |
\w | 单词中的字符 | 等价于[a-zA-Z0-9] |
\W | 非单词中的字符 | |
\s | 空白字符 | |
\S | 非空白字符 |
量词
元字符 | 名称 | 含义 |
---|---|---|
? | 问号 | 匹配一次,可有可无 |
* | 任意多次,也可以不匹配 | |
+ | 至少一次 | |
{min,max} | 至少min,至多max |
环视
(?=...) | 肯定顺序环视 | 匹配...左边的位置 |
---|---|---|
(?<=...) | 肯定逆序环视 | 匹配...右边的位置 |
(?!...) | 否定顺序 | 匹配不是...左边的位置 |
(?<!...) | 否定逆序 | 匹配不是...右边的位置 |
注意事项
网友评论