主要正则表达式元字符列表(待完善)

时间:2021-06-13 18:46:46
类别
字符
含义
定位符
^
行首(默认)
$
行尾(默认)
\b
字边界,是单词和空格之间的位置
\B
非字边界,除字边界之外的任何位置
限定符
?
重复 [0,1]
+
重复 [1, +∞]
*
重复 [0, +∞]
{n}
重复 n
{n,}
重复 [n,+∞]
{n,m}
重复 [n, m]
 
(pattern)
将符合表达式pattern描述的若干字符整体视为一个字符进行匹配。
注意:
①圆括号将导致相关匹配存储到一个临时缓冲区(创建分组),并从左到右对缓冲区(组)编号,编码范围是[1-99];
②可使用“\index”访问指定索引的分组。使用该语法访问分组称为后向引用(通过该语法可检索相邻重复打字符串)
③也可对分组进行命名
 
(?:pattern)
非获取匹配,将组织创建分组示例,这有利于提高性能。
 
正向预查
(?=pattern)
先匹配符合pattern的字符组,然后在结果中再检索满足()之前表达式的匹配项。
(在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。)
反向预查
(?!pattern)
类似正向预查,只不过是取反。
(负向预查,在任何不匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。)
 
[abc]或[a|b|c]
可选匹配,将匹配a或b或c,
优先匹配左侧的第一项
 
[a-z]
范围匹配
 
[^abc]或[^a-Z0-9]
取反,表示匹配abc(数字)之外的任意字符
 
| 或 a|b
二选一进行匹配
 
\index
引用指定索引值的自表达式匹配项(index主要正则表达式元字符列表(待完善)[0,99])
 
\d
匹配数字。等价于[0-9]
 
\D
匹配非数字。等价于[^0-9]
 
\w
匹配单词字符(子母、数字、下划线)。等价于[a-Za-z0-9_]
 
\W
匹配非单词字符。等价于[^a-Za-z0-9_]
 
\s
匹配空白字符。等价于[\n\r\t\v\f]
 
\S
匹配非空白字符。等价于[^\n\r\t\v\f]
 
.
匹配非换行符之外的任何单字符。等价于[^\n]
空白字符
\n
换行符
\r
回车符
\t
水平制表符
\v
垂直制表符
\f
换页符
进制