【问题标题】:regex syntax javafx正则表达式语法 javafx
【发布时间】:2011-04-19 09:15:43
【问题描述】:

一个愚蠢的问题,我不确定以下 javafx 正则表达式语法有什么问题。 Netbeans 在整个这个正则表达式字符串中抱怨非法转义字符,

var pattern:String = "(\/S*)(ftp|http|https):\/\/(\w+:\{0,1\}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?";

非常感谢任何帮助。非常感谢。

干杯, 阿比

【问题讨论】:

    标签: java regex escaping javafx


    【解决方案1】:

    试试这个双 \\ 表示 \

    var 模式:String = "(\\/S*)(ftp|http|https):\\/\\/(\\w+:\{0,1\}\\w*@)?( \\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\-\\/]))?";

    【讨论】:

      【解决方案2】:

      我假设你的问题在这里:

      (\/S*)(ftp|http|https):\/\/(\w+:\{0,1\}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?
                                      -------
      

      我假设你想说的是可以有一个“:”或没有。因此你不需要转义括号,即只有:{0,1},但这只是:?

      所以我假设你的意思是:

      (\/S*)(ftp|http|https):\/\/(\w+:?\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?
      

      【讨论】:

        猜你喜欢
        • 2011-03-22
        • 2011-08-23
        • 2012-05-06
        • 2010-09-20
        • 2011-09-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-18
        • 2012-04-15
        相关资源
        最近更新 更多