关于编程语言:所有正则表达式实现的列表?

List of all regex implementations?

是否有一个网上的regex实现列表,显示它们的差异/相似性?

例如,emacs elisp regex不同于javascript或perl regex,更不用说不同的编辑器软件使用的所有不同的实现。

例如,vs2010使用{},而不是(),将表达式分组以进行反向引用。

很久以前,我可以依靠欧莱利的regex pocket快速参考中的regex转换列表,但是在线的东西会更容易、更完整。

顺便说一句,我知道(当然)http://www.regular-expressions.info/这很好,但没有接近完成的地方。

我将从这里发布的答案和我能找到的任何其他信息中整理出一份清单。

变化一般变更

实现上的差异通常是特殊字符{}()[]^$的处理方式(转义规则等),偶尔会被替换;posix字符类(如[:digit:]的处理/可用性,以及选项的使用,如gi等。

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

  • 操作脚本-使用ECMA样式
  • Delphi(.net)-使用.NET样式。DelphiWin32没有本机regex,但PCRE包装器可用。
  • emacs/elisp-有两种不同的上下文,转义在elisp中使用\\,在regexp-replace中使用\。特殊字符(){}[]在用于regex特性时被转义,很像sed
  • Eclipse搜索使用Java风格的正则表达式。
  • GNU(Linux)-posix-bre/ere
  • grep-位置
  • Groovy——使用Java风格。
  • 英特利
  • Java- Java风格。
  • javascript-使用ECMA样式。
  • 网豆
  • .NET-使用System.Text.RegularExpressions中的类
  • 记事本+PCRE
  • PCRE(C/C++)-开源库,被许多第三方语言和应用程序使用。(如php、tcl、r等)
  • Perl-Perl样式
  • php-posix-ere,pcre,(php5的多字节字符串模块使用oniguruma)
  • posix-bre(基本regex),ere(扩展regex)
  • PowerShell-.NET样式
  • python-python样式
  • R-位置/位置,PCRE
  • RealBasic-PCRE
  • 红宝石-奥尼古鲁玛
  • sed-在将特殊字符用于regex功能时,会对它们进行转义。
  • 三种口味,TCL是(高级regex),posix-ere,posix-bre。
  • textmate-Oniguruma公司
  • Tera术语-Oniguruma
  • VBScript—ECMA
  • Visual Basic 6-ECMA(使用Microsoft vbscript正则表达式5.5 COM对象时)
  • Visual Studio-分组大括号是{}(下面将详细介绍。)
  • wxwidgets-tcl是,posix-bre/ere
  • XML架构-XML
  • xquery&xpath-xpath

其他参考资料。

  • 维基百科正则表达式软件列表
  • Regex信息对Regex口味的比较


看看正则表达式的风格比较。它至少包含了当今最重要的正则表达式实现及其特性。


http://www.regular-expressions.info是我所知道的最接近全面列表的东西(即使它也不接近完整)。(特别是本页。)


维基百科上有一个支持正则表达式的库、语言和应用程序列表,其中包括一个功能比较表:

http://en.wikipedia.org/wiki/comparison_-regular_-expression_引擎


当我对不同的变体感到困惑时,我发现这个概述非常有用。