Regular Expression
正则表达式(Regular Expression)是一种文本模式,可以用来描述和匹配字符串的特定模式。
字符匹配
-
普通字符:按字面值匹配
-
元字符:具有特殊含义
\d
:任意数字 =[0-9]
\D
:任意非数字 =[^\d]
\w
:任意单词字符(含下划线) =[a-zA-Z0-9_]
\W
:任意非单词字符 =[^\w]
\s
:任意空白符 =[\t\n\f\r\p]
\S
:任意非空白符 =[^\s]
.
:任意字符(除换行)\n
,\r
,\t
,\v
垂直制表符,\f
换页,\p
回车换行
量词
匹配前面的模式的 次数
*
: 0次 或 多次+
: 1次 或 多次?
: 0次 或 1次{n}
: 恰好 n次{n,}
: 至少 n次{n,m}
: 至少 n次 且 不超过 m次
字符类
[ ]
: 匹配括号内的任意一个字符[^ ]
: 匹配除括号内的字符-
: 连字符,表示范围如[a-z]
边界匹配
^
: 匹配字符串开头$
: 匹配字符串结尾\b
: 匹配单词边界\B
: 匹配非单词边界
分组和捕获
()
: 分组和捕获子表达式(?: )
: 分组但不捕获
特殊字符
\
: 转义|
: 指定多个模式的选择(或)
前后预查
(?= )
: 正先行断言-存在
匹配,如果后面跟随(?! )
: 负先行断言-排除
匹配,如果后面不跟随(?<= )
: 正后发断言-存在
匹配,如果前面存在(?<! )
: 负后发断言-排除
匹配,如果前面不存在