正则表达式参考 |
简介 |
目录 |
快速参考 |
字符 |
基本功能 |
字符类 |
速记 |
锚 |
词边界 |
量词 |
Unicode |
捕获组和反向引用 |
命名组和反向引用 |
特殊组 |
模式修饰符 |
递归和平衡组 |
替换参考 |
字符 |
匹配文本和反向引用 |
上下文和大小写转换 |
条件 |
此网站上的更多内容 |
简介 |
正则表达式快速入门 |
正则表达式教程 |
替换字符串教程 |
应用程序和语言 |
正则表达式示例 |
正则表达式参考 |
替换字符串参考 |
书评 |
可打印 PDF |
关于此网站 |
RSS Feed 和博客 |
功能 | 语法 | 描述 | 示例 | 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
贪婪量词 | ?(问号) | 使前一项可选。贪婪,因此如果可能,可选项将包含在匹配项中。 | abc? 匹配 abc 或 ab | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA 扩展 egrep awk | ECMA 扩展 egrep awk | 是 | 否 | 是 | 否 | 是 | 是 | 是 | 是 |
贪婪量词 | \? | 使前一项可选。贪婪,因此如果可能,可选项将包含在匹配项中。 | abc\? 匹配 abc 或 ab | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 否 | 否 | 否 | 否 |
惰性量词 | ?? | 使前一项可选。惰性,因此如果可能,可选项将排除在匹配项之外。 | abc?? 匹配 ab 或 abc | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA | ECMA | 是 | 否 | 否 | 否 | 否 | 10gR2 | 否 | 是 |
独占量词 | ?+ | 使前一项可选。独占,因此如果可以匹配可选项,则即使正则表达式的其余部分失败,量词也不会放弃其匹配项。 | abc?+c 匹配 abcc 但不匹配 abc | 是 | 否 | 是 | 5.10 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 否 | 否 | 1.9 | 否 | ECMA 1.42–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
贪婪量词 | *(星号) | 重复前一项零次或多次。贪婪,因此在尝试前一项匹配较少时的排列之前,将尽可能多地匹配项,直到前一项完全不匹配为止。 | ".*" 在 abc "def" "ghi" jkl 中匹配 "def" "ghi" | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
惰性量词 | *? | 重复前一项零次或多次。惰性,因此引擎首先尝试跳过前一项,然后再尝试前一项匹配不断增加时的排列。 | ".*?" 在 abc "def" "ghi" jkl 中匹配 "def" 和 "ghi" | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA | ECMA | 是 | 否 | 否 | 否 | 否 | 10gR2 | 否 | 是 |
独占量词 | *+ | 重复前一项零次或多次。独占,因此将尽可能多地匹配项,而不尝试任何匹配较少的排列,即使正则表达式的其余部分失败。 | ".*+" 永远无法匹配任何内容 | 是 | 否 | 是 | 5.10 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 否 | 否 | 1.9 | 否 | ECMA 1.42–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
贪婪量词 | +(加号) | 重复前一项一次或多次。贪婪,因此在尝试前一项匹配较少时的排列之前,将尽可能多地匹配项,直到前一项仅匹配一次为止。 | ".+" 在 abc "def" "ghi" jkl 中匹配 "def" "ghi" | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA 扩展 egrep awk | ECMA 扩展 egrep awk | 是 | 否 | 是 | 否 | 是 | 是 | 是 | 是 |
贪婪量词 | \+ | 重复前一项一次或多次。贪婪,因此在尝试前一项匹配较少时的排列之前,将尽可能多地匹配项,直到前一项仅匹配一次为止。 | ".\+" 在 abc "def" "ghi" jkl 中匹配 "def" "ghi" | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 否 | 否 | 否 | 否 |
惰性量词 | +? | 重复前一项一次或多次。惰性,因此引擎首先仅匹配前一项一次,然后再尝试前一项匹配不断增加时的排列。 | ".+?" 在 abc "def" "ghi" jkl 中匹配 "def" 和 "ghi" | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA | ECMA | 是 | 否 | 否 | 否 | 否 | 10gR2 | 否 | 是 |
独占量词 | ++ | 重复前一项一次或多次。独占,因此将尽可能多地匹配项,而不尝试任何匹配较少的排列,即使正则表达式的其余部分失败。 | ".++" 永远无法匹配任何内容 | 是 | 否 | 是 | 5.10 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 否 | 否 | 1.9 | 否 | ECMA 1.42–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
固定量词 | {n} 其中 n 是一个整数 >= 1 | 重复前一个项目恰好 n 次。 | a{3} 匹配 aaa | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA 扩展 egrep awk | ECMA 扩展 egrep awk | 是 | 否 | 是 | 否 | 是 | 是 | 是 | 是 |
贪婪量词 | {n,m} 其中 n >= 0 且 m >= n | 重复前一个项目 n 到 m 次。贪婪,因此在将重复次数减少到 n 次之前,会尝试重复 m 次。 | a{2,4} 匹配 aaaa、aaa 或 aa | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA 扩展 egrep awk | ECMA 扩展 egrep awk | 是 | 否 | 是 | 否 | 是 | 是 | 是 | 是 |
贪婪量词 | {n,} 其中 n >= 0 | 重复前一个项目至少 n 次。贪婪,因此在尝试前一个项目的匹配次数更少的排列之前,将尽可能多地匹配项目,直到前一个项目仅匹配 n 次。 | a{2,} 在 aaaaa 中匹配 aaaaa | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA 扩展 egrep awk | ECMA 扩展 egrep awk | 是 | 否 | 是 | 否 | 是 | 是 | 是 | 是 |
贪婪量词 | {,m} 其中 m >= 1 | 重复前一个项目 0 到 m 次。贪婪,因此在将重复次数减少到 0 次之前,会尝试重复 m 次。 | a{,4} 匹配 aaaa、aaa、aa、a 或空字符串 | V2 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 1.9 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 否 | 否 | 否 |
固定量词 | \{n\} 其中 n 是一个整数 >= 1 | 重复前一个项目恰好 n 次。 | a\{3\} 匹配 aaa | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 基本 grep | 基本 grep | 否 | 是 | 否 | 是 | 否 | 否 | 否 | 否 |
贪婪量词 | \{n,m\} 其中 n >= 0 且 m >= n | 重复前一个项目 n 到 m 次。贪婪,因此在将重复次数减少到 n 次之前,会尝试重复 m 次。 | a\{2,4\} 匹配 aaaa、aaa 或 aa | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 基本 grep | 基本 grep | 否 | 是 | 否 | 是 | 否 | 否 | 否 | 否 |
贪婪量词 | \{n,\} 其中 n >= 0 | 重复前一个项目至少 n 次。贪婪,因此在尝试前一个项目的匹配次数更少的排列之前,将尽可能多地匹配项目,直到前一个项目仅匹配 n 次。 | a\{2,\} 在 aaaaa 中匹配 aaaaa | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 基本 grep | 基本 grep | 否 | 是 | 否 | 是 | 否 | 否 | 否 | 否 |
贪婪量词 | \{,m\} 其中 m >= 1 | 重复前一个项目 0 到 m 次。贪婪,因此在将重复次数减少到 0 次之前,会尝试重复 m 次。 | a\{,4\} 匹配 aaaa、aaa、aa、a 或空字符串 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 否 | 否 | 否 | 否 |
惰性量词 | {n,m}? 其中 n >= 0 且 m >= n | 重复前一个项目 n 到 m 次。惰性,因此在将重复次数增加到 m 次之前,会尝试重复 n 次。 | a{2,4}? 匹配 aa、aaa 或 aaaa | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA | ECMA | 是 | 否 | 否 | 否 | 否 | 10gR2 | 否 | 是 |
惰性量词 | {n,}? 其中 n >= 0 | 重复前一个项目 n 次或更多次。惰性,因此引擎首先匹配前一个项目 n 次,然后再尝试前一个项目匹配次数不断增加的排列。 | a{2,}? 在 aaaaa 中匹配 aa | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA | ECMA | 是 | 否 | 否 | 否 | 否 | 10gR2 | 否 | 是 |
惰性量词 | {,m}? 其中 m >= 1 | 重复前一项 0 到 m 次。惰性,因此在将重复次数增加到 m 次之前,会尝试重复 0 次。 | a{,4}? 匹配空字符串、a、aa、aaa 或 aaaa | V2 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 1.9 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
独占量词 | {n,m}+ 其中 n >= 0 且 m >= n | 重复前一项 n 到 m 次。占有,因此会尽可能多地匹配 m 个项目,而不会尝试任何匹配次数较少的排列,即使正则表达式的其余部分失败。 | a{2,4}+a 匹配 aaaaa 但不匹配 aaaa | 是 | 否 | 是 | 5.10 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | ECMA 1.42–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
独占量词 | {n,}+ 其中 n >= 0 | 重复前一项 n 次或更多次。占有,因此会尽可能多地匹配项目,而不会尝试任何匹配次数较少的排列,即使正则表达式的其余部分失败。 | a{2,}+a 从不匹配任何内容 | 是 | 否 | 是 | 5.10 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | ECMA 1.42–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
功能 | 语法 | 描述 | 示例 | 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 |