Javascript在Internet Explorer中的RegEx问题

Dan*_*lar 3 javascript regex

我试图使用正则表达式在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);
Run Code Online (Sandbox Code Playgroud)

在Chrome和FF中,当我matchParts发出警报时,它是一个包含文本然后是网址的数组.在IE中然而matchParts只是文本和网址已经消失了!

在IE中有一个奇怪的错误或我的正则表达式不太正确...请帮忙!

Poi*_*nty 5

我不会为此使用"拆分",因为它是错误的:http://blog.stevenlevithan.com/archives/cross-browser-split

尝试

var matchParts = regexp.exec(status);
Run Code Online (Sandbox Code Playgroud)

代替.您可能需要稍微修改正则表达式(我会尝试并更新).

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