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: 匹配非单词边界
分组和捕获
(): 分组和捕获子表达式(?: ): 分组但不捕获
特殊字符
\: 转义|: 指定多个模式的选择(或)
前后预查
(?= ): 正先行断言-存在
匹配,如果后面跟随(?! ): 负先行断言-排除
匹配,如果后面不跟随(?<= ): 正后发断言-存在
匹配,如果前面存在(?<! ): 负后发断言-排除
匹配,如果前面不存在