正则表达式
匹配单个字符
| 元字符 | 名称 | 匹配对象 |
|---|---|---|
| . | 点 | 匹配任意单个字符 |
| [...] | 字符组 | 匹配单个列出的字符 支持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 |
环视
| (?=...) | 肯定顺序环视 | 匹配...左边的位置 |
|---|---|---|
| (?<=...) | 肯定逆序环视 | 匹配...右边的位置 |
| (?!...) | 否定顺序 | 匹配不是...左边的位置 |
| (?<!...) | 否定逆序 | 匹配不是...右边的位置 |
注意事项











网友评论