我想知道正则表达式是否适用于所有语言,如PHP,Javascript等?
答案 0 :(得分:8)
你的问题对我来说有点模棱两可:你必须用 Universal 定义你的意思,但这是我的回答:
正则表达式几乎用于所有编程语言,如PHP,JavaScript,Perl,Awk,Java,C#等......
问题是语法可能会有所不同从一种语言到另一种语言,并且每种语言可能以不同的方式实现,并且包括或不包含< strong>某些特定功能(通常允许正则表达式识别常规语言的功能,以及Context-Free之类的其他功能)
如果您创建了一种新的编程语言,则可以添加它们的正则表达式功能,但这并不意味着语法与.NET中的正则表达式语法完全相同。不仅如此:发动机的实施肯定会与其他发动机不同(效率更高/效率更低)......
答案 1 :(得分:8)
答案 2 :(得分:4)
没有。正则表达式有许多方言,但基本表达式往往非常相似。此外,一种方言中引入的有用特征通常被其他方言复制。
答案 3 :(得分:3)
正则表达式本身就是一种编程结构。所以你会发现关于模式匹配的表达式的核心概念基本上是通用的,但是每个实现都会提供它们特定的语法旋转来实现它。
答案 4 :(得分:2)
没有。但是你可能使用的任何东西都会以某种形式或形式支持它们。
答案 5 :(得分:1)
坏消息是否定的!
正则表达式有很多实现和变体。
在标准的unix实现中,ksh,bash,grep和awk都使用略有不同的规则。 lua有一个非常有限的正则表达式库,Java有一个功能齐全的lib,但它有自己的怪癖。
好消息是,大多数流行的脚本(php,python等)语言使用“pcre”库,而“pcre”代表“Perl Compatable Regular Expresions”,根据定义,它的工作方式与perl正则表达式相同尽可能的。 pcre库可以链接到编译语言(C,C ++等)。