【问题标题】: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#!:.?+=&%@!\-\/]))?