Проблемы с Javascript RegEx в Internet Explorer - PullRequest
3 голосов
/ 08 марта 2010

Я пытаюсь разбить строку в 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, либо мое регулярное выражение не совсем верно ... пожалуйста, помогите!

1 Ответ

5 голосов
/ 08 марта 2010

Я бы не использовал для этого "split", потому что он глючит: http://blog.stevenlevithan.com/archives/cross-browser-split

Попробуйте

var matchParts = regexp.exec(status);

вместо этого. Возможно, вам придется немного поработать с регулярным выражением (я попробую и обновлю).

edit Если вы добавите (.*) в начало регулярного выражения, вы также выберете начальный текст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...