网络上是否有正则表达式实现列表,显示它们的差异/相似之处?
例如,Emacs elisp Regex 与 JavaScript 或 Perl regex 不同,更不用说不同编辑器软件使用的所有不同实现,
例如VS2010使用{}
而不是 ()
为反向引用分组表达式。
曾几何时,我可以依靠 O'Reilly 的 Regex Pocket Quick Reference 中的 Regex 转换列表,但在线的东西会更容易、更完整。
顺便说一句,我知道(当然)http://www.regular-expressions.info/这很好,但还远未完成。
我将从此处发布的答案以及我能找到的任何其他内容中编制一份 list 。
变化
一般变化
实现上的区别通常是特殊字符 {}()[]^$
的方式。被处理(逃避规则等),偶尔被替换; POSIX 字符类的处理/可用性,例如[:digit:]
,以及选项的使用,例如g
i
等等
(正在进行中的工作,如果您知道任何警告,这些实现的差异,请将它们添加为答案)
\\
在 elisp 中,和 \
在 regexp-replace
.特殊字符 (){}[]
在将它们用于正则表达式功能时被转义,就像 sed
. (){}[]
将它们用于正则表达式功能时会被转义。 {}
(更多细节随后。)附加引用。
最佳答案
看看Regular Expression Flavor Comparison在 Regular-Expressions.info .它至少包含当今最重要的正则表达式实现及其特性。
关于regex - 所有正则表达式实现的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4644847/