English 中文(简体)
正则表达式通用吗?[已关闭]
原标题:Are Regular Expressions universal? [closed]
最佳回答

你的问题对我来说有点模棱两可:你必须定义Universal的含义,但我的答案是:

正则表达式几乎用于所有编程语言,如PHP、JavaScript、Perl、Awk、Java、C#等。。。

问题是不同语言的语法可能会有一点不同,每种语言都可能以不同的方式实现它们,并包括或不包括一些特定的功能(通常是允许regex不仅识别常规语言,还识别其他语言,如上下文无关ones)

如果您创建了一种新的编程语言,您可以添加正则表达式功能,但这并不意味着语法将与.NET中的正则表达式语法完全相同。不仅如此:引擎的实现肯定会与其他引擎不同(效率更高/更低)。。。

问题回答

它们并不完全一样

查看此列表中的一些差异

不。正则表达式有很多方言,尽管基本表达式往往很相似。此外,在一种方言中引入的有用特征经常被其他方言复制。

正则表达式本身就是一种编程构造。因此,您会发现,关于模式匹配表达式的核心概念基本上是通用的,然而,每个实现都会提供其特定的语法旋转来实现这一点。

不。但是你可能使用的任何都会以某种形式支持它们。

坏消息是不!

正则表达式有许多实现和变体。

在标准的unix实现中,ksh、bash、grep和awk都使用稍微不同的规则。lua有一个非常有限的regex库,Java有一个功能齐全的lib,但有自己的怪癖。

好消息是,大多数流行的脚本语言(php、python等)都使用“pcre”库,而且“pcre“根据定义代表“Perl Compatable Regular Expresions”,它的工作原理尽可能与Perl正则表达式相同。pcre库可从链接到已编译语言(C、C++等)。





相关问题
selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

How to fire event handlers on the link using javascript

I would like to click a link in my page using javascript. I would like to Fire event handlers on the link without navigating. How can this be done? This has to work both in firefox and Internet ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Clipboard access using Javascript - sans Flash?

Is there a reliable way to access the client machine s clipboard using Javascript? I continue to run into permissions issues when attempting to do this. How does Google Docs do this? Do they use ...

javascript debugging question

I have a large javascript which I didn t write but I need to use it and I m slowely going trough it trying to figure out what does it do and how, I m using alert to print out what it does but now I ...

Parsing date like twitter

I ve made a little forum and I want parse the date on newest posts like twitter, you know "posted 40 minutes ago ","posted 1 hour ago"... What s the best way ? Thanx.