2

由于每种编程语言似乎对正则表达式使用不同的语法,因此我正在寻找一种与所有编程语言兼容的正则表达式引擎(而不仅仅是其中的一种或两种)。是否有适用于多种编程语言的正则表达式引擎?如果没有,创建这样的正则表达式引擎是否可行?

4

1 回答 1

3

你的印象是错误的。“与 Perl 兼容的正则表达式”得到广泛支持,主要是通过在后台使用相同的引擎。在 PHP 中,您可以通过pcre_函数族获得它们。在 python 中,它们是re支持的。RLIKE除了传统的 SQL 语法之外,甚至 Mysql 也支持这种正则表达式样式(带)。不支持完整 perl 语法的语言通常支持兼容的子集。

我无法提供支持它的语言的完整列表;我不确定这个问题是否能得到回答——如果游戏环境等在他们的命令语言中嵌入正则表达式,你会计算它们吗?但这有关系吗?寻找感兴趣的语言的正则表达式支持,如果你没有找到完整的 PCRE 支持,你很可能会找到一个很好的子集。

主要不兼容的正则表达式系列是 SQL 的LIKE语法、shell 样式的“glob”(比完整的正则表达式更简单)和各种 unix 工具,由于历史原因,这些工具坚持使用正则表达式语法的变体:(grep所谓的“基本”正则表达式由默认),sed等等(请记住,不仅早于 perl,grep而且sed早于兼容实现的文化)。

于 2013-04-17T18:46:07.957 回答