网上是否有正则表达式实施列表,显示它们的差异/相似之处?
对于exaple,Emacs elisp Regex与JavaScript或Perl正则表达式不同,更不用说不同编辑器软件使用的所有不同实现,
e.g。 VS2010使用{}
而不是()
来组合反向引用的表达式。
曾几何时,我可以依赖O'Reilly的Regex Pocket快速参考中的正则表达式转换列表,但在线的内容会更容易,更完整。
顺便说一句,我知道(当然)http://www.regular-expressions.info/哪个好,但没有接近完成。
我将根据此处发布的答案以及我能找到的任何其他内容编制列表。
实现的差异通常是处理特殊字符{}()[]^$
的方式(转义规则等),偶尔也会替换; POSIX字符类的处理/可用性,例如[:digit:]
,以及选项的使用,例如g
i
等。
(正在进行的工作,如果你知道任何警告,这些实现的差异,请添加它们作为答案)
\\
,在\
中使用regexp-replace
。将特殊字符(){}[]
用于正则表达式功能时会对其进行转义,与sed
非常相似。(){}[]
在将它们用于正则表达式功能时会被转义。{}
(详情请参阅。)答案 0 :(得分:8)
查看Regular Expression Flavor Comparison上的Regular-Expressions.info。它至少包含了当今最重要的正则表达式实现及其特性。
答案 1 :(得分:3)
http://www.regular-expressions.info是我对综合列表最接近的事情(甚至它还远未完成)。 (特别是This page。)
答案 2 :(得分:2)
维基百科上有一个支持正则表达式的库,语言和应用程序列表,其中包含一个功能比较表:
http://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines
答案 3 :(得分:1)
当我对不同的变种感到困惑时,我发现this overview非常有用。