oco*_*odo
23
regex
programming-languages
是否有网上的正则表达式实施列表,显示它们的差异/相似之处?
对于exaple,Emacs elisp Regex与JavaScript或Perl正则表达式不同,更不用说不同编辑器软件使用的所有不同实现,
例如,VS2010使用{}而不是()为反向引用分组表达式.
曾几何时,我可以依赖O'Reilly的Regex Pocket快速参考中的正则表达式转换列表,但在线的内容会更容易,更完整.
顺便说一句,我知道(当然)http://www.regular-expressions.info/这是好的,但没有接近完成.
我将根据此处发布的答案以及我能找到的任何其他内容编制列表.
变化
一般变化
实现的差异通常{}()[]^$是处理特殊字符的方式(转义规则等),偶尔也会替换; POSIX字符类的处理/可用性,例如[:digit:],选项的使用,例如g i等.
(正在进行的工作,如果你知道任何警告,这些实现的差异请添加它们作为答案)
- ActionScript - 使用ECMA样式
- Delphi(.Net) - 使用.Net风格.Delphi Win32没有本机正则表达式,但可以使用PCRE包装器.
- Emacs/ELisp - 有两种不同的上下文,
\\在elisp中使用,以及\在regexp-replace.(){}[]使用正则表达式时,特殊字符会被转义,就像使用它们一样sed.
- Eclipse - 搜索使用Java样式正则表达式.
- GNU(Linux) - POSIX BRE/ERE
- Grep - POSIX BRE/ERE
- Groovy - 使用Java风格.
- 的IntelliJ
- 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
- 红宝石 - Oniguruma
- Sed - 特殊字符
(){}[]在使用正则表达式功能时被转义.
- Tcl - 三种口味,Tcl ARE(高级正则表达式),POSIX ERE,POSIX BRE.
- TextMate - Oniguruma
- Tera Term - Oniguruma
- VBScript - ECMA
- Visual Basic 6 - ECMA(使用Microsoft VBScript正则表达式5.5 COM对象时)
- Visual Studio - 分组大括号
{}(更多细节可供参考)
- wxWidgets - Tcl ARE,POSIX BRE/ERE
- XML Schema - XML
- XQuery和XPath - Xpath
其他参考.