URL的AS3正则表达式测试

时间:2011-09-21 16:06:44

标签: regex actionscript-3

我想检查字符串是否包含URL。

var string:String = "Arbitrary amount of random text before and after.<br/><br/>http://www.somdomain.co.uk<br/><br/>Tel: 0123 456 789<br/>";

var pattern:RegExp = new RegExp("(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?");

ExternalInterface.call('console.log',pattern.test(string));

这会向我的控制台输出false,而当我将正则表达式和字符串输入http://gskinner.com/RegExr/时,会找到该网址。

我做错了什么以及如何解决?

1 个答案:

答案 0 :(得分:1)

我刚刚逃了几个额外的/,它开始工作了。此外,我通常喜欢使用正则表达式文字符号来创建正则表达式,因为它比在new Regex()中将字符串转换为正则表达式提供了更好的语法突出显示:

var pattern:RegExp = /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?/;
相关问题