2011-04-19 93 views
3

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

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

任何帮助是极大的赞赏。谢谢一堆。

干杯, 阿比

回答

0

我想你的问题是在这里:

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

我假设你想要说的是可以有一个“:”还是不行。为此你不需要逃避方括号,即只有:{0,1},但是这仅仅是:?

所以我假设你的意思是:

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

尝试使用\

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

+0

感谢它帮助我 – Ricky 2011-09-12 09:11:37