首頁  >  問答  >  主體

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

就是多行带注释的。

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

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

LiveScript——用//代替/

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

还有哪些?

大家讲道理大家讲道理2713 天前608

全部回覆(5)我來回復

  • 大家讲道理

    大家讲道理2017-04-21 11:21:17

    這個是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++中多行字串的寫法比較不自然。

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-21 11:21:17

    腳本語言都支援 擴充pcre即可

    回覆
    0
  • PHPz

    PHPz2017-04-21 11:21:17

    CoffeeScipt也支持。

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

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-21 11:21:17

    nark 正規引擎支援交集、差集操作,也支援多正規符合:一遍掃描就知道符合了一堆(可能幾百萬個)正規表示式中的哪些。

    回覆
    0
  • PHPz

    PHPz2017-04-21 11:21:17

    c和c++不支援

    回覆
    0
  • 取消回覆