JavaScript обычный текстовый URL-анализ
-
01-10-2019 - |
Вопрос
Я пытаюсь искать обычные старые строки для URL-адресов, которые начинаются с HTTP, но все регулярное выражение, не работают в JavaScript, и, кажется, я не могу найти пример этого в JavaScript.
Это тот, который я пытаюсь использовать из здесь а также здесь:
var test = /\b(?:(?:https?|ftp|file)://www\.|ftp\.)[-A-Z0-9+&@#/%=~_|$?!:,.]*[A-Z0-9+&@#/%=~_|$]/;
Но когда я пытаюсь запустить его, я получаю «неожиданный токен |» ошибки.
Решение
Хорошо, комментарий, кажется, недостаточно, трудно найти полный ответ. Я переписываю целое правильное регулярное выражение: (проверено, работает хорошо)
var test = /\b(?:(?:https?|ftp|file):\/\/www\.|ftp\.)[-A-Z0-9+&@#\/%=~_|$?!:,.]*[A-Z0-9+&@#\/%=~_|$]/i;
То i
В конце концов означает «игнорировать чехол», так что это необходимо для этого Regexp.
Другие советы
Вы используете /
как ваш разделитель Regeex, и также используют /
В рамках Regex (до WWW), поэтому Regex фактически завершается после первого / до www. Изменить его на:
var test = /\b(?:(?:https?|ftp|file):\/\/www\.|ftp\.)[-A-Z0-9+&@#/%=~_|$?!:,.]*[A-Z0-9+&@#/%=~_|$]/;
^^^^ escape here