天天看点

正则表达式 - 元字符基本限制符 - 匹配次数子表达式转义字符

基本

字符 描述
\ 将下一个字符转义
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
. 匹配除 "\n" 之外的任何单个字符。
|
[abc] 匹配包含abc的任意一个字符串
[^abc] 匹配未包含abc的任意字符串
[a-z] [A-Z] [0-9] 匹配指定范围的字符串
[\u4e00-\u9fa5] 匹配任意中文

限制符 - 匹配次数

表明前面的子表达式需要匹配几次

* 匹配零次或多次
+ 匹配一次或多次
? 匹配零次或一次
{n} 匹配n次
{n,} 至少匹配n次
{n,m} 至少匹配n次 至多匹配m次
限制符后跟? 将匹配模式改为非贪婪

子表达式

是否获取
(pattern) 匹配 pattern 通常和 | 连用
(?:pattern)
(?=pattern) 正向预查 在任何匹配 pattern 的开始处查找
(?<=pattern) 正向预查 在任何匹配 pattern 的结束处查找
(?!pattern) 负向预查 在任何不匹配 pattern 的开始处查找

转义字符

等价于
\b 在单词的边界处匹配之前的字符串
\B 在非单词边界处匹配之前的字符串
\d 匹配一个数字字符 [0-9]
\D 匹配一个非数字字符 [^0-9]
\f 匹配一个换页符 \x0c 和 \cL
\n 匹配一个换行符 \x0a 和 \cJ
\r 匹配一个回车符 \x0d 和 \cM
\s 匹配任何空白字符,包括空格、制表符、换页符等等 [ \f\n\r\t\v]
\S 匹配任何非空白字符 [^ \f\n\r\t\v]
\t 匹配一个制表符 \x09 和 \cI
\v 匹配一个垂直制表符 \x0b 和 \cK
\w 匹配包括下划线的任何单词字符 [A-Za-z0-9_]
\W 匹配任何非单词字符 [^A-Za-z0-9_]

继续阅读