Как обнаружить ссылки в строке, используя RegEx в as3? - PullRequest
1 голос
/ 16 ноября 2009

Я пытаюсь найти общие ссылки в строках. Я нашел очень удобное регулярное выражение для RegExr в выражениях сообщества:

(https?://)?(www\.)?([a-zA-Z0-9_%]*)\b\.[a-z]{2,4}(\.[a-z]{2})?((/[a-zA-Z0-9_%]*)+)?(\.[a-z]*)?(:\d{1,5})?

Я попытался использовать его, и он возвращает ноль, хотя та же строка, проверенная на 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

Есть что-то, что я пропускаю?

Ответы [ 2 ]

2 голосов
/ 16 ноября 2009

вам нужно удвоить обратную косую черту, когда вы используете новый RegExp. Возможно, вы захотите использовать буквальный синтаксис, который не налагает такого требования (предполагая, что AS3 допускает этот синтаксис, я просто знаю JS.

0 голосов
/ 16 ноября 2009

Похоже, вы пытаетесь сопоставить не ту переменную?В строке linkRegEx.exec(formattedStatus), formattedStatus не определено.

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