простой анализ текста в формате javascript - PullRequest
0 голосов
/ 07 сентября 2010

Я пытаюсь найти в простых старых строках URL, начинающиеся с http, но все регулярные выражения, которые я нахожу, не работают в javascript, и я не могу найти пример этого в javascript.

Это тот, который я пытаюсь использовать с здесь и здесь :

var test = /\b(?:(?:https?|ftp|file)://www\.|ftp\.)[-A-Z0-9+&@#/%=~_|$?!:,.]*[A-Z0-9+&@#/%=~_|$]/;

Но когда я пытаюсь запустить его, я получаю «Неожиданный токен |» ошибки.

Ответы [ 2 ]

1 голос
/ 07 сентября 2010

Хорошо, комментария недостаточно, трудно найти полный ответ.Я переписываю все правильное регулярное выражение: (проверено, это работает хорошо)

var test = /\b(?:(?:https?|ftp|file):\/\/www\.|ftp\.)[-A-Z0-9+&@#\/%=~_|$?!:,.]*[A-Z0-9+&@#\/%=~_|$]/i;

i в конце означает «игнорировать регистр», поэтому это необходимо для этого регулярного выражения.

0 голосов
/ 07 сентября 2010

Вы используете / в качестве разделителя регулярных выражений, а также используете / в регулярном выражении (до www), поэтому регулярное выражение фактически завершается после первого / перед www. Измените его на:

var test = /\b(?:(?:https?|ftp|file):\/\/www\.|ftp\.)[-A-Z0-9+&@#/%=~_|$?!:,.]*[A-Z0-9+&@#/%=~_|$]/;
                                     ^^^^ escape here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...