角色指南

请注意,某些语法元素根据表达式具有不同的行为。

句法 描述
? 匹配前面的字符或子表达式 0 或 1 次。还用于非捕获组和命名捕获组。
* 匹配前面的字符或子表达式 0 次或更多次。
+ 将前面的字符或子表达式匹配 1 次或更多次。
{n} 准确匹配前面的字符或子表达 n 次。
{min,} 匹配前面的字符或子表达式最少或更多次。
{,max} 最多匹配前面的字符或子表达式或更少次数。
{min,max} 匹配前面的字符或子表达式至少 min times 但不超过 max 次。
- 方括号内包含 to; 例如[3-6]匹配字符 3,4,5 或 6。
^ 字符串的开始(如果指定了多行/m 选项,则为行的开头),或者否定选项列表(即,如果在方括号内,则为 []
$ 字符串结尾(如果指定了多行/m 选项,则为行尾)。
() 组子表达式,捕获特殊变量(\1\2 等)中的匹配内容,这些变量可以在以后的同一个正则表达式中使用,例如 (\w+)\s\1\s 匹配单词重复
(?<name>) 对子表达式进行分组,并在命名组中捕获它们
(?:) 将子表达式分组而不捕获
. 匹配除换行符之外的任何字符(\n,通常为\r)。
[] 这些括号之间的任何字符都应匹配一次。注意:开放式支架后的^否定了这种效果。括号内出现的 - 允许指定一系列值(除非它是第一个或最后一个字符,在这种情况下它只代表一个常规短划线)。
\ 转义以下角色。也用于元序列 - 具有特殊含义的正则表达式令牌。
\$ 美元(即转义的特殊字符)
\( 开括号(即转义的特殊字符)
\) 闭括号(即转义的特殊字符)
\* 星号(即转义的特殊字符)
\. 点(即转义的特殊字符)
\? 问号(即转义的特殊字符)
\[ 左(打开)方括号(即转义的特殊字符)
\\ 反斜杠(即转义的特殊字符)
\] 右(关闭)方括号(即转义的特殊字符)
\^ 插入符号(即转义的特殊字符)
\{ 左(打开)花括号/括号(即转义的特殊字符)
\| 管道(即转义的特殊字符)
\} 右(关闭)花括号/大括号(即转义的特殊字符)
\+ 加(即转义的特殊字符)
\A 一个字符串的开头
\Z 一个字符串的结尾
\z 字符串的绝对值
\b 单词(字母数字序列)边界
\1\2 对以前匹配的子表达式的反向引用,按 () 分组,\1 表示第一个匹配,\2 表示第二个匹配等。
[\b] 退格 - 当\b 在一个字符类([])里面时匹配退格
\B 否定\b - 在双字符之间的任何位置以及两个非单词字符之间的任何位置匹配
\D 非数字
\d 数字
\e 逃逸
\f 形式饲料
\n 换行
\r 回车
\S 非空白
\s 空白
\t 标签
\v 垂直标签
\W 无字
\w 单词(即字母数字字符)
{} 命名字符集
| 要么; 即描述先前和先前的选项。