正则表达式参考 |
简介 |
目录 |
快速参考 |
字符 |
基本功能 |
字符类 |
速记 |
锚 |
词边界 |
量词 |
Unicode |
捕获组和反向引用 |
命名组和反向引用 |
特殊组 |
模式修饰符 |
递归和平衡组 |
替换参考 |
字符 |
匹配文本和反向引用 |
上下文和大小写转换 |
条件 |
此站点上的更多内容 |
简介 |
正则表达式快速入门 |
正则表达式教程 |
替换字符串教程 |
应用程序和语言 |
正则表达式示例 |
正则表达式参考 |
替换字符串参考 |
书评 |
可打印 PDF |
关于此站点 |
RSS 源和博客 |
此参考页面说明在字符类外部使用 Unicode 令牌时它们的作用。除了 \X 之外,所有这些令牌还可以在字符类内部使用。在字符类内部,这些令牌将它们通常匹配的字符添加到字符类中。
功能 | 语法 | 说明 | 示例 | JGsoft | .NET | Java | Perl | PCRE | PCRE2 | PHP | Delphi | R | JavaScript | VBScript | XRegExp | Python | Ruby | std::regex | Boost | Tcl ARE | POSIX BRE | POSIX ERE | GNU BRE | GNU ERE | Oracle | XML | XPath |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
音节 | \X | 匹配单个 Unicode 音素,无论使用单个代码点还是使用组合标记编码为多个代码点。音素最接近于“字符”的日常概念。 | \X 匹配编码为 U+0061 U+0300 的 à、编码为 U+00E0 的 à、© 等。 | 是 | 否 | 9 | 是 | 5.0 | 是 | 5.0.5 | 是 | 是 | 否 | 否 | 否 | 否 | 2.0 | 否 | ECMA 扩展 egrep awk | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
代码点 | \uFFFF,其中 FFFF 是 4 个十六进制数字 | 匹配特定的 Unicode 代码点。 | \u00E0 仅匹配编码为 U+00E0 的 à。 \u00A9 匹配 © | 是 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 是 | 是 | 3.3 2.4 字符串 | 1.9 | ECMA | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
代码点 | \u{FFFF},其中 FFFF 是 1 到 4 个十六进制数字 | 匹配特定的 Unicode 代码点。 | \u{E0} 仅匹配编码为 U+00E0 的 à。 \u{A9} 匹配 © | V2 | 否 | 否 | 否 | 否 | 否 | 7.0.0 字符串 | 否 | 否 | 否 | 否 | 3 | 否 | 1.9 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
代码点 | \xFFFF,其中 FFFF 是 4 个十六进制数字 | 匹配特定的 Unicode 代码点。 | \x00E0 仅匹配编码为 U+00E0 的 à。 \x00A9 匹配 © | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 字符串 | 否 | 8.4–8.5 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
代码点 | \x{FFFF},其中 FFFF 是 1 到 4 个十六进制数字 | 匹配特定的 Unicode 代码点。 | \x{E0} 仅匹配编码为 U+00E0 的 à。 \x{A9} 匹配 © | 是 | 否 | 7 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | ECMA 扩展 egrep awk | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
Unicode 类别 | \pL,其中 L 是 Unicode 类别 | 匹配指定 Unicode 类别中的单个 Unicode 代码点。 | \pL 匹配编码为 U+00E0 的 à;\pS 匹配 © | 是 | 否 | 是 | 是 | 5.0 | 是 | 5.0.5 | 是 | 是 | 否 | 否 | 3 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
Unicode 类别 | \PL,其中 L 是 Unicode 类别 | 匹配不在指定 Unicode 类别中的单个 Unicode 代码点。 | \PS 匹配编码为 U+00E0 的 à;\PL 匹配 © | 是 | 否 | 是 | 是 | 5.0 | 是 | 5.0.5 | 是 | 是 | 否 | 否 | 3 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
Unicode 类别 | \p{L},其中 L 是 Unicode 类别 | 匹配指定 Unicode 类别中的单个 Unicode 代码点。 | \p{L} 匹配编码为 U+00E0 的 à;\p{S} 匹配 © | 是 | 是 | 是 | 是 | 5.0 | 是 | 5.0.5 | 是 | 是 | 否 | 否 | 是 | 否 | 1.9 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 是 |
Unicode 类别 | \p{IsL} 其中 L 是 Unicode 类别 | 匹配指定 Unicode 类别中的单个 Unicode 代码点。 | \p{IsL} 匹配编码为 U+00E0 的 à;\p{IsS} 匹配 © | 是 | 否 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
Unicode 类别 | \p{Category} | 匹配指定 Unicode 类别中的单个 Unicode 代码点。 | \p{Letter} 匹配编码为 U+00E0 的 à;\p{Symbol} 匹配 © | 是 | 否 | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 否 | 1.9 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
Unicode 类别 | \p{IsCategory} | 匹配指定 Unicode 类别中的单个 Unicode 代码点。 | \p{IsLetter} 匹配编码为 U+00E0 的 à;\p{IsSymbol} 匹配 © | 是 | 否 | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
Unicode 脚本 | \p{Script} | 匹配指定 Unicode 脚本中单个 Unicode 代码点。每个 Unicode 代码点属于一个脚本。脚本从不包含未分配的代码点。 | \p{Greek} 匹配 Ω | 是 | 否 | 否 | 是 | 6.5 | 是 | 5.1.3 | 是 | 是 | 否 | 否 | 是 | 否 | 1.9 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
Unicode 脚本 | \p{IsScript} | 匹配指定 Unicode 脚本中单个 Unicode 代码点。每个 Unicode 代码点属于一个脚本。脚本从不包含未分配的代码点。 | \p{IsGreek} 匹配 Ω | 是 | 否 | 7 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
Unicode 块 | \p{Block} | 匹配指定 Unicode 块中单个 Unicode 代码点。每个 Unicode 代码点属于一个块。块可能包含未分配的代码点。 | \p{Arrows} 匹配从 U+2190 到 U+21FF 的任意代码点(← 到 ⇿) | 是 | 否 | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
Unicode 块 | \p{InBlock} | 匹配指定 Unicode 块中单个 Unicode 代码点。每个 Unicode 代码点属于一个块。块可能包含未分配的代码点。 | \p{InArrows} 匹配从 U+2190 到 U+21FF 的任意代码点(← 到 ⇿) | 是 | 否 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 2–4 | 否 | 2.0 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
Unicode 块 | \p{IsBlock} | 匹配指定 Unicode 块中单个 Unicode 代码点。每个 Unicode 代码点属于一个块。块可能包含未分配的代码点。 | \p{IsArrows} 匹配从 U+2190 到 U+21FF 的任意代码点(← 到 ⇿) | 是 | 是 | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 是 |
否定 Unicode 属性 | \P{Property} | 匹配不具有指定属性(类别、脚本或块)的单个 Unicode 代码点。 | \P{L} 匹配 © | 是 | 是 | 是 | 是 | 5.0 | 是 | 5.0.5 | 是 | 是 | 否 | 否 | 是 | 否 | 1.9 | 否 | ECMA 扩展 egrep awk | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 是 |
否定 Unicode 属性 | \p{^Property} | 匹配不具有指定属性(类别、脚本或块)的单个 Unicode 代码点。 | \p{^L} 匹配 © | 是 | 否 | 否 | 是 | 5.0 | 是 | 5.0.5 | 是 | 是 | 否 | 否 | 是 | 否 | 1.9 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
Unicode 属性 | \P{^Property} | 匹配具有指定属性(类别、脚本或块)的单个 Unicode 代码点。双重否定被视为肯定。 | \P{^L} 匹配 q | V2 | 否 | 否 | 是 | 5.0 | 是 | 5.0.5 | 是 | 是 | 否 | 否 | 否 | 否 | 1.9 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
功能 | 语法 | 说明 | 示例 | JGsoft | .NET | Java | Perl | PCRE | PCRE2 | PHP | Delphi | R | JavaScript | VBScript | XRegExp | Python | Ruby | std::regex | Boost | Tcl ARE | POSIX BRE | POSIX ERE | GNU BRE | GNU ERE | Oracle | XML | XPath |