首页 > 哪些语言支持扩展正则的?

哪些语言支持扩展正则的?

就是多行带注释的。

我知道的有Ruby——需要加x选项

/\d{4}-? # 年
\d{1,2}-? # 月
\d{1, 2} # 日
/x

LiveScript——用//代替/

//
\d{4}-? # 年
\d{1,2}-? # 月
\d{1, 2} # 日
//

还有哪些?


脚本语言都支持 扩展pcre即可


CoffeeScipt也支持。

///
\d{4}-? # 年
\d{1,2}-? # 月
\d{1, 2} # 日
///

这个是PCRE_EXTRA Modifier: PASSING MODIFIERS TO THE REGULAR EXPRESSION ENGINE
通常是添加X Modifier/Option/Compilation Flag
PCRE系列的实现应该都支持这功能。所以只需要看看该语言是否有PCRE的库就行了,或者看它的Regex 实现是否支持X Option。

大众语言,如,
PHP有:http://php.net/manual/en/reference.pcre.pattern.modifiers.php
Python也支持: http://docs.python.org/2/library/re.html#re.VERBOSE
JavaScript默认不行,因为它的不是PCRE,需要XRegExp扩展:http://www.xregexp.com/
Java和C#都有:
- Java Pattern.COMMENTS
- C# X RegExp Option

Java、C#有的,Groovy之类的JVM或.Net系列自然也都有吧。

对了,这个严格来讲不是语言语法层面的东西,只不过Ruby或JS这样的支持RegExp字面量罢了,所以这个意义上来讲不区分语言,只不过C/C++中多行字符串的写法比较不自然。


nark 正则引擎支持交集、差集操作,还支持多正则匹配:一遍扫描就知道匹配了一堆(可能几百万个)正则表达式中的哪些。


c和c++不支持

【热门文章】
【热门文章】