我试图在字符串中找到通用链接。我在社区表达式RegExr中找到了一个非常方便的正则表达式:
(https?://)?(www\.)?([a-zA-Z0-9_%]*)\b\.[a-z]{2,4}(\.[a-z]{2})?((/[a-zA-Z0-9_%]*)+)?(\.[a-z]*)?(:\d{1,5})?
我尝试使用它并返回null,尽管在RegExr上测试的相同字符串工作正常:
var linkRegEx:RegExp = new RegExp("(https?://)?(www\.)?([a-zA-Z0-9_%]*)\b\.[a-z]{2,4}(\.[a-z]{2})?((/[a-zA-Z0-9_%]*)+)?(\.[a-z]*)?(:\d{1,5})?","g");
var link:String = 'generic links: www.google.com http://www.google.com google.com';
trace(linkRegEx.exec(link));//traces null
我有什么遗漏吗?
答案 0 :(得分:2)
当您使用新的RegExp时,需要加倍反斜杠。你可能想要使用文字语法,这并没有强加这样的要求(假设AS3承认这种语法,我只知道JS。
答案 1 :(得分:0)
看起来你可能正在尝试匹配错误的变量?在linkRegEx.exec(formattedStatus)
行中,formattedStatus
未定义。