正则表达式

2020-06-27  本文已影响0人  4e8ea348373f

正则表达式

匹配单个字符

元字符 名称 匹配对象
. 匹配任意单个字符
[...] 字符组 匹配单个列出的字符 支持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

环视

(?=...) 肯定顺序环视 匹配...左边的位置
(?<=...) 肯定逆序环视 匹配...右边的位置
(?!...) 否定顺序 匹配不是...左边的位置
(?<!...) 否定逆序 匹配不是...右边的位置

注意事项

上一篇 下一篇

猜你喜欢

热点阅读