在Internet Explorer中遇到的JavaScript正则表达式问题

3
我正在尝试使用正则表达式在Javascript中拆分字符串。我的代码如下:
var status = "This is a test http://yfrog.com/5y6eruj";    
var regexp = /(http:\/\/yfrog\.com(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;  
matchParts = status.split(regexp);
alert(matchParts);

在Chrome和FF中,当我弹出matchParts时,它是一个包含文本和URL的数组。然而,在IE中,matchParts只是文本,URL已经消失了!
要么是IE中有一个奇怪的bug,要么是我的正则表达式不太对...请帮忙!
1个回答

5
我不建议使用"split",因为它存在缺陷:http://blog.stevenlevithan.com/archives/cross-browser-split。你可以尝试:
var matchParts = regexp.exec(status);

相反,您可能需要稍微调整一下正则表达式(我会尝试并更新)。

编辑 如果您在正则表达式的开头添加(.*),您也将捕获前导文本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接