Regular Expression Tutorial
Regex 101: 在线测试正则表达式的网站
匹配
^
: 匹配输入字符串开始位置$
: 匹配输入字符串结束位置\b
: 匹配单词边界。例如er\b
: 可以匹配 “never” 中的 “er” 而不能匹配 “verb” 中的 “er”\B
: 匹配非单词边界,与\b
相反\n
: 匹配换行符\r
匹配回车符\t
: 匹配制表符\s
: 匹配任何空白字符。包括空格、制表符、换页符等。\S
: 匹配任何非空白字符.
: 匹配除\r
和\n
以外的任何单个字符\d
: 匹配数字字符\D
: 匹配非数字字符\w
: 匹配包括下划线在内的任何字母与数字字符\W
: 与\w
相反[\u4e00-\u9fa5]
: 匹配中文字符[^\x00-\xff]
: 匹配双字节字符(包括中文)
重复
*
: 匹配前面的表达式零次或多次+
: 匹配前面的表达式一次或多次?
: 匹配前面的表达式零次或一次{n}
: 匹配前面的表达式 n 次{n,}
: 匹配前面的表达式至少 n 次{n,m}
: 匹配前面的表达式最少 n 次,最多 m 次
特殊
\
: 转义字符,将下一个字符标记为一个特殊字符?
: 非贪心量化。当该字符跟在任何一个重复修饰符后时,匹配尽可能少的字符串(pattern)
: 匹配并获取字符串,用于向后引用。默认情况下,每个分组按照从左往右的规则依次分配组号为 1,2,3 等。之后使用\1
来代表分组 1 匹配的文本。(?:pattern)
: 非获取匹配,括号只做优先级分组(?<name>pattern)
: 匹配并将组名设置为 name(?=pattern)
: 匹配 pattern 之前的位置(?!pattern)
: 匹配非 pattern 之前的位置(?<=pattern)
: 匹配 pattern 之后的位置(?<!pattern)
: 匹配非 pattern 之后的位置|
: 或[xyz]
: 匹配所包含的任意一个字符[^xyz]
: 匹配未列出的任意字符[a-z]
: 匹配指定范围内的任意字符[^a-z]
: 匹配未在指定范围内的任意字符