就是多行带注释的。
我知道的有Ruby——需要加x选项
x
/\d{4}-? # 年 \d{1,2}-? # 月 \d{1, 2} # 日 /x
LiveScript——用//代替/
//
/
// \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++中多行字符串的写法比较不自然。
脚本语言都支持 扩展pcre即可
CoffeeScipt也支持。
/// \d{4}-? # 年 \d{1,2}-? # 月 \d{1, 2} # 日 ///
nark 正则引擎支持交集、差集操作,还支持多正则匹配:一遍扫描就知道匹配了一堆(可能几百万个)正则表达式中的哪些。
c和c++不支持
这个是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++中多行字符串的写法比较不自然。
脚本语言都支持 扩展pcre即可
CoffeeScipt也支持。
nark 正则引擎支持交集、差集操作,还支持多正则匹配:一遍扫描就知道匹配了一堆(可能几百万个)正则表达式中的哪些。
c和c++不支持