正则表达式参考 |
简介 |
目录 |
快速参考 |
字符 |
基本功能 |
字符类 |
速记 |
锚点 |
单词边界 |
量词 |
Unicode |
捕获组和反向引用 |
命名组和反向引用 |
特殊组 |
模式修饰符 |
递归和平衡组 |
替换参考 |
字符 |
匹配的文本和反向引用 |
上下文和大小写转换 |
条件 |
本网站的更多内容 |
简介 |
正则表达式快速入门 |
正则表达式教程 |
替换字符串教程 |
应用程序和语言 |
正则表达式示例 |
正则表达式参考 |
替换字符串参考 |
书评 |
可打印 PDF |
关于本网站 |
RSS 提要和博客 |
此快速参考是对 完整参考表 中列出的所有正则表达式语法进行的总结,不含任何解释。如果你在别人的正则表达式中看到了一些语法,并且不知道该语法用于什么功能,则可以使用此表。按照链接了解有关教程中语法的更多信息。由于完整参考表涵盖了各种正则表达式风格,因此此快速参考可能针对同一语法有多个条目,并链接到教程中的不同部分(如果不同的正则表达式风格将同一语法用于不同的功能)。
如果你已经知道想要的功能,但忘记了要使用哪个语法,请改而查找 正则表达式参考目录 中的功能。
语法 | 功能 |
---|---|
除 [\^$.|?*+() 之外的任何字符 | 文本字符 |
\ 后跟 [\^$.|?*+(){} 中的任何字符 | 反斜杠转义元字符 |
. | 任何字符 |
| | 交替 |
\| | 交替 |
? | 贪婪量词 |
\? | 贪婪量词 |
?? | 惰性量词 |
?+ | 独占量词 |
* | 贪婪量词 |
*? | 惰性量词 |
*+ | 独占量词 |
+ | 贪婪量词 |
\+ | 贪婪量词 |
+? | 惰性量词 |
++ | 独占量词 |
{ 和 } | 文本花括号 |
{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 | 反斜杠字符 |
\c | XML 简写 |
\ca 到 \cz | 控制字符转义 |
\cA 到 \cZ | 控制字符转义 |
\C | XML 简写 |
\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 | 非水平空白简写 |
\i | XML 简写 |
\I | XML 简写 |
\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 | 非小写简写 |
\m | Tcl 单词边界开始 |
\M | Tcl 单词边界结束 |
\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 代码点 |
\X | Unicode 音节 |
\y | Tcl 单词边界 |
\Y | Tcl 单词非边界 |
\Z | 字符串锚 |
\z | 字符串锚 |
\0 | NULL 转义 |
\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) 是任何有效的环视,then 和 else 是任何有效的正则表达式 | 环视条件 |
(?(regex)then|else) 其中 regex、then 和 else 是任何有效的正则表达式,且 regex 不是捕获组的名称 | 隐式前瞻条件 |
(?(name)then|else) 其中 name 是捕获组的名称,then 和 else 是任何有效的正则表达式 | 命名条件 |
(?(<name>)then|else) 其中 name 是捕获组的名称,then 和 else 是任何有效的正则表达式 | 命名条件 |
(?('name')then|else) 其中 name 是捕获组的名称,then 和 else 是任何有效的正则表达式 | 命名条件 |
(?(1)then|else) 其中 1 是捕获组的编号,then 和 else 是任何有效的正则表达式 | 条件 |
(?(-1)then|else) 其中 -1 是负整数,then 和 else 是任何有效的正则表达式 | 相对条件 |
(?(+1)then|else) 其中 +1 是正整数,then 和 else 是任何有效的正则表达式 | 前向条件 |
(?(+1)then|else) 其中 1 是捕获组的编号,then 和 else 是任何有效的正则表达式 | 条件 |
(?<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 字符等价 |
| 快速开始 | 教程 | 工具和语言 | 示例 | 参考 | 书籍评论 |
| 简介 | 目录 | 快速参考 | 字符 | 基本功能 | 字符类 | 简写 | 锚点 | 词边界 | 量词 | Unicode | 捕获组和反向引用 | 命名组和反向引用 | 特殊组 | 模式修饰符 | 递归和平衡组 |
页面 URL:https://regexper.cn/refquick.html
页面上次更新时间:2021 年 11 月 5 日
网站上次更新时间:2024 年 3 月 15 日
版权所有 © 2003-2024 Jan Goyvaerts。保留所有权利。