类别 |
字符 |
含义 |
定位符 |
^ |
行首(默认) |
$ |
行尾(默认) |
|
\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 |
换页符 |
|
进制 |
时间: 2024-10-27 09:12:45