快速入门
教程
工具和语言
示例
参考
书评
正则表达式参考
简介
目录
快速参考
字符
基本功能
字符类
速记
锚点
单词边界
量词
Unicode
捕获组和反向引用
命名组和反向引用
特殊组
模式修饰符
递归和平衡组
替换参考
字符
匹配的文本和反向引用
上下文和大小写转换
条件
本网站的更多内容
简介
正则表达式快速入门
正则表达式教程
替换字符串教程
应用程序和语言
正则表达式示例
正则表达式参考
替换字符串参考
书评
可打印 PDF
关于本网站
RSS 提要和博客
RegexBuddy—Better than a regular expression reference!

正则表达式快速参考

此快速参考是对 完整参考表 中列出的所有正则表达式语法进行的总结,不含任何解释。如果你在别人的正则表达式中看到了一些语法,并且不知道该语法用于什么功能,则可以使用此表。按照链接了解有关教程中语法的更多信息。由于完整参考表涵盖了各种正则表达式风格,因此此快速参考可能针对同一语法有多个条目,并链接到教程中的不同部分(如果不同的正则表达式风格将同一语法用于不同的功能)。

如果你已经知道想要的功能,但忘记了要使用哪个语法,请改而查找 正则表达式参考目录 中的功能。

语法功能
[\^$.|?*+() 之外的任何字符文本字符
\ 后跟 [\^$.|?*+(){} 中的任何字符反斜杠转义元字符
.任何字符
|交替
\|交替
?贪婪量词
\?贪婪量词
??惰性量词
?+独占量词
*贪婪量词
*?惰性量词
*+独占量词
+贪婪量词
\+贪婪量词
+?惰性量词
++独占量词
{}文本花括号
{n} 其中 n 是一个整数 >= 1固定量词
{n,m} 其中 n >= 0 且 m >= n贪婪量词
{n,} 其中 n >= 0贪婪量词
{,m} 其中 m >= 1贪婪量词
\{n\},其中 n 是大于或等于 1 的整数固定量词
\{n,m\},其中 n 大于或等于 0,m 大于或等于 n贪婪量词
\{n,\},其中 n 大于或等于 0贪婪量词
\{,m\},其中 m 大于或等于 1贪婪量词
{n,m}?,其中 n 大于或等于 0,m 大于或等于 n惰性量词
{n,}?,其中 n 大于或等于 0惰性量词
{,m}?,其中 m 大于或等于 1惰性量词
{n,m}+,其中 n 大于或等于 0,m 大于或等于 n独占量词
{n,}+,其中 n 大于或等于 0独占量词
^字符串锚
^行锚
$字符串锚
$行锚
\a字符转义
\A字符串锚
\A尝试锚
\b词边界
\b退格字符
\B非词边界
\B反斜杠字符
\cXML 简写
\ca\cz控制字符转义
\cA\cZ控制字符转义
\CXML 简写
\d数字简写
\D非数字简写
\e转义字符
\f换页符字符
\g{name}命名反向引用
\g-1\g-2相对反向引用
\g{-1}\g{-2}相对反向引用
\g1\g99反向引用
\g{1}\g{99}反向引用
\g<name>,其中“name”是捕获组的名称命名子例程调用
\g<name>,其中“name”是捕获组的名称命名反向引用
\g'name',其中“name”是捕获组的名称命名子例程调用
\g'name',其中“name”是捕获组的名称命名反向引用
\g<0>递归
\g'0'递归
\g<1>,其中 1 是捕获组的编号子例程调用
\g<1>,其中 1 是捕获组的编号反向引用
\g'1',其中 1 是捕获组的编号子例程调用
\g'1',其中 1 是捕获组的编号反向引用
\g<-1>,其中 -1 是负整数相对子例程调用
\g<-1>,其中 -1 是负整数相对反向引用
\g'-1',其中 -1 是负整数相对子例程调用
\g'-1',其中 -1 是负整数相对反向引用
\g<+1>,其中 +1 是正整数前向子例程调用
\g'+1',其中 +1 是正整数前向子例程调用
\G尝试锚
\G匹配锚
\h十六进制数字简写
\h水平空白简写
\H非十六进制数字简写
\H非水平空白简写
\iXML 简写
\IXML 简写
\k<name>命名反向引用
\k'name'\k'99'命名反向引用
\k{name}命名反向引用
\k<1>\k<99>反向引用
\k'1'\k'99'反向引用
\k<-1>\k<-2>相对反向引用
\k'-1'\k'-2'相对反向引用
\K将文本保留在正则表达式匹配之外
\l小写简写
\L非小写简写
\mTcl 单词边界开始
\MTcl 单词边界结束
\n换行符字符
\N非换行符
字面 CRLF、LF 或 CR 换行符换行符
\o{7777} 其中 7777 是任意八进制数字八进制转义
\pL 其中 L 是 Unicode 类别Unicode 类别
\PL 其中 L 是 Unicode 类别Unicode 类别
\p{L} 其中 L 是 Unicode 类别Unicode 类别
\p{IsL} 其中 L 是 Unicode 类别Unicode 类别
\p{Category}Unicode 类别
\p{IsCategory}Unicode 类别
\p{Script}Unicode 脚本
\p{IsScript}Unicode 脚本
\p{Block}Unicode 块
\p{InBlock}Unicode 块
\p{IsBlock}Unicode 块
\P{Property}取反的 Unicode 属性
\p{^Property}取反的 Unicode 属性
\P{^Property}Unicode 属性
\Q…\E转义序列
\r回车字符
\R换行符
\s空白缩写
\S非空白缩写
\t制表符
\u大写缩写
\uFFFF 其中 FFFF 是 4 个十六进制数字Unicode 代码点
\u{FFFF} 其中 FFFF 是 1 到 4 个十六进制数字Unicode 代码点
\U非大写缩写
\v垂直制表符
\v垂直空白缩写
\V非垂直空白缩写
\w单词字符缩写
\W非单词字符缩写
\xFF 其中 FF 是 2 个十六进制数字 十六进制转义
\xFFFF 其中 FFFF 是 4 个十六进制数字Unicode 代码点
\x{FFFF} 其中 FFFF 是 1 到 4 个十六进制数字Unicode 代码点
\XUnicode 音节
\yTcl 单词边界
\YTcl 单词非边界
\Z字符串锚
\z字符串锚
\0NULL 转义
\1\7八进制转义
\1\9反向引用
\10\77八进制转义
\10\99反向引用
\100\377八进制转义
\01\0377八进制转义
\<字符串锚
\<尝试锚
\'字符串锚
\<GNU 单词边界
\>GNU 单词边界
[[:<:]]POSIX 单词边界
[[:>:]]POSIX 单词边界
(regex)捕获组
\(regex\)捕获组
(?:regex)非捕获组
(?<name>regex)命名捕获组
(?'name'regex)命名捕获组
(?#comment)注释
(?|regex)分支重置组
(?>regex)原子组
(?=regex)正向先行断言
(?!regex)负向先行断言
(?<=regex)正向后行断言
(?<!regex)负向后行断言
(?(?=regex)then|else) 其中 (?=regex) 是任何有效的环视,thenelse 是任何有效的正则表达式环视条件
(?(regex)then|else) 其中 regexthenelse 是任何有效的正则表达式,且 regex 不是捕获组的名称隐式前瞻条件
(?(name)then|else) 其中 name 是捕获组的名称,thenelse 是任何有效的正则表达式命名条件
(?(<name>)then|else) 其中 name 是捕获组的名称,thenelse 是任何有效的正则表达式命名条件
(?('name')then|else) 其中 name 是捕获组的名称,thenelse 是任何有效的正则表达式命名条件
(?(1)then|else) 其中 1 是捕获组的编号,thenelse 是任何有效的正则表达式条件
(?(-1)then|else) 其中 -1 是负整数,thenelse 是任何有效的正则表达式相对条件
(?(+1)then|else) 其中 +1 是正整数,thenelse 是任何有效的正则表达式前向条件
(?(+1)then|else) 其中 1 是捕获组的编号,thenelse 是任何有效的正则表达式条件
(?<capture-subtract>regex) 其中“capture”和“subtract”是组名,“regex”是任何正则表达式平衡组
(?'capture-subtract'regex) 其中“capture”和“subtract”是组名,“regex”是任何正则表达式平衡组
(?&name) 其中“name”是捕获组的名称命名子例程调用
(?(DEFINE)regex) 其中“regex”是任何正则表达式子例程定义
(?P<name>regex)命名捕获组
(?P=name)命名反向引用
(?P=1)(?P=99)反向引用
(?P>name) 其中“name”是捕获组的名称命名子例程调用
(?R)递归
(?0)递归
(?1) 其中 1 是捕获组的编号子例程调用
(?-1) 其中 -1 是负整数相对子例程调用
(?+1) 其中 +1 是正整数前向子例程调用

字符类语法功能
^-]\ 之外的任何字符文本字符
\(反斜杠)后跟 ^-]\ 中的任何一个反斜杠转义元字符
\文字反斜杠
两个标记之间的 -,每个标记指定一个字符范围
在开头的 [ 之后立即出现 ^否定字符类
[文字开括号
[嵌套字符类
[base-[subtract]]字符类减法
[base&&[intersect]]字符类交集
[base&&intersect]字符类交集
[:alpha:]POSIX 类
[:^alpha:]否定 POSIX 类
\p{Alpha}POSIX 类
\p{IsAlpha}POSIX 类
[.span-ll.]POSIX 排序序列
[=x=]POSIX 字符等价