regex - 所有正则表达式实现的列表?

标签 regex programming-languages

网络上是否有正则表达式实现列表,显示它们的差异/相似之处?

例如,Emacs elisp Regex 与 JavaScript 或 Perl regex 不同,更不用说不同编辑器软件使用的所有不同实现,

例如VS2010使用{}而不是 ()为反向引用分组表达式。

曾几何时,我可以依靠 O'Reilly 的 Regex Pocket Quick Reference 中的 Regex 转换列表,但在线的东西会更容易、更完整。

顺便说一句,我知道(当然)http://www.regular-expressions.info/这很好,但还远未完成。

我将从此处发布的答案以及我能找到的任何其他内容中编制一份 list 。

变化

一般变化

实现上的区别通常是特殊字符 {}()[]^$ 的方式。被处理(逃避规则等),偶尔被替换; POSIX 字符类的处理/可用性,例如[:digit:] ,以及选项的使用,例如g i等等

(正在进行中的工作,如果您知道任何警告,这些实现的差异,请将它们添加为答案)

  • ActionScript - 使用 ECMA 样式
  • Delphi (.Net) - 使用 .Net 风格。 Delphi Win32 没有 native 正则表达式,但可以使用 PCRE 包装器。
  • Emacs/ELisp - 有 2 个不同的上下文,转义使用 \\在 elisp 中,和 \regexp-replace .特殊字符 (){}[]在将它们用于正则表达式功能时被转义,就像 sed .
  • Eclipse - 搜索使用 Java 风格的正则表达式。
  • GNU (Linux) - POSIX BRE/ERE
  • Grep - POSIX BRE/ERE
  • Groovy - 使用 Java 风格。
  • 智能
  • Java - Java 风格。
  • JavaScript - 使用 ECMA 样式。
  • NetBeans
  • .NET - 使用 System.Text.RegularExpressions
  • 中的类
  • Notepad++ - PCRE
  • PCRE (C/C++) - 开源库,被许多第三方语言和应用程序使用。 (例如 PHP、TCL、R 等)
  • Perl - Perl 风格
  • PHP - POSIX ERE、PCRE,(PHP5 的多字节字符串模块使用 Oniguruma)
  • POSIX - BRE(基本正则表达式)、ERE(扩展正则表达式)
  • PowerShell - .Net 风格
  • Python - Python 风格
  • R - POSIX ERE/BRE, PCRE
  • REALbasic - PCRE
  • ruby - Oniguruma
  • Sed - 特殊字符 (){}[]将它们用于正则表达式功能时会被转义。
  • Tcl - 三种风格,Tcl ARE(高级正则表达式),POSIX ERE,POSIX BRE。
  • 文本伴侣 - Oniguruma
  • 太长期 - Oniguruma
  • VBScript - ECMA
  • Visual Basic 6 - ECMA(使用 Microsoft VBScript 正则表达式 5.5 COM 对象时)
  • Visual Studio - 分组大括号是 {} (更多细节随后。)
  • wxWidgets - Tcl ARE、POSIX BRE/ERE
  • XML 模式 - XML
  • XQuery 和 XPath - Xpath

  • 附加引用。
  • Wikipedia's List of regular expression software
  • Regex info's comparison of Regex flavors
  • 最佳答案

    看看Regular Expression Flavor ComparisonRegular-Expressions.info .它至少包含当今最重要的正则表达式实现及其特性。

    关于regex - 所有正则表达式实现的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4644847/

    相关文章:

    javascript - 用美元符号替换 javascript 正则表达式匹配组

    php - 为什么 ereg ("^\d{11}$",18311111111) 是假的?

    python - 在换行符上拆分,但不是空格换行符

    c# - 正则表达式 - 小写字母数字和正斜杠

    css - 我们应该使用什么语言来创建包含大量表格、颜色和图像的打印 Material ?

    types - 解释器和静态类型检查

    programming-languages - 带有逻辑 OR 的 if 语句

    正则表达式

    regex - 用于查找和替换 CSV 文件中未转义的非连续双引号的正则表达式

    language-agnostic - 计算机编程中的 "magic numbers"是什么?