Форум программистов, компьютерный форум, киберфорум
JavaScript: RegExp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
19 / 16 / 1
Регистрация: 10.01.2010
Сообщений: 252

Найти все УРЛ-адреса в тексте

29.11.2012, 12:09. Показов 3637. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть вот такая регулярка:
JavaScript
1
2
var template = /^(?:(?:https?|http|ftp)://(?:[a-z0-9_-]{1, 32}(?::[a-z0-9_-]{1, 32})?@)?)?(?:(?:[a-z0-9-]{1, 128}.)+(?:com|net|org|mil|edu|arpa|ru|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?!0[^.]|255)[0-9]{1, 3}.){3}(?!0|255)[0-9]{1, 3})(?:/[a-z0-9., _@%&?+=~/-]*)?(?:#[^ '"&<>]*)?$/i;  
  var regex = new RegExp (template);
На браузер пишет такую ошибку:
Unexpected token ?
после строки:
JavaScript
1
var template = /^(?:(?:https?|http|ftp)://(?:[a-z0-9_-]{1, 32}(?::[a-z0-9_-]{1, 32})?@)?)?(?:(?:[a-z0-9-]{1, 128}.)+(?:com|net|org|mil|edu|arpa|ru|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?!0[^.]|255)[0-9]{1, 3}.){3}(?!0|255)[0-9]{1, 3})(?:/[a-z0-9., _@%&?+=~/-]*)?(?:#[^ '"&<>]*)?$/i;
В чем проблема?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.11.2012, 12:09
Ответы с готовыми решениями:

Строка: найти все IP-адреса, содержащиеся в тексте
помогите пожалуйста,завтра к экзамену надо написать программы и сдать к\работу! надо написать 3,4 и 5 задачи!!!

Как достать все адреса групп в тексте?
Добрый день есть текст и в нем встречаются ссылки наподобие https://vk.com/neptunestudio. как мне достать все ссылки, что бы достать только...

В произвольном тексте все e-mail адреса вывести красным цветом
В произвольном тексте все e-mail адреса вывести красным цветом и привести к виду &lt;a href=”mailto:EMAIL”&gt;EMAIL&lt;/a&gt;

6
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
29.11.2012, 12:18
в RegExp прямые слэши открывают и закрывают шаблон
если внутри шаблона имеются прямые слэши, их надо экранировать обратными, вот так:
...http|ftp):\/\/(...
1
19 / 16 / 1
Регистрация: 10.01.2010
Сообщений: 252
30.11.2012, 11:52  [ТС]
Теперь другая проблема:
JavaScript
1
2
3
4
var TA=jQuery("#urlSet").val();
var template = /^(?:(?:https?|http|ftp):\/\/(?:[a-z0-9_-]{1, 32}(?::[a-z0-9_-]{1, 32})?@)?)?(?:(?:[a-z0-9-]{1, 128}.)+(?:com|net|org|mil|edu|arpa|ru|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?!0[^.]|255)[0-9]{1, 3}.){3}(?!0|255)[0-9]{1, 3})(?:\/[a-z0-9., _@%&?+=~\/-]*)?(?:#[^ '"&<>]*)?$/igm;
var regex = new RegExp (template);
lines = TA.match(regex);
При выполнении этого участка в lines принимает значение null, хотя ссылки в тексте имеются

Добавлено через 9 минут
Замел ту регулярку этой:
JavaScript
1
var template = /^(?:([a-z]+):(?:([a-z]*):)?\/\/)?(?:([^:@]*)(?::([^:@]*))?@)?((?:[a-z0-9_-]+\.)+[a-z]{2,}|localhost|(?:(?:[01]?\d\d?|2[0-4]\d|25[0-5])\.){3}(?:(?:[01]?\d\d?|2[0-4]\d|25[0-5])))(?::(\d+))?(?:([^:\?\#]+))?(?:\?([^\#]+))?(?:\#([^\s]+))?$|[\r\n\s\t\v]/gm;
В общем на корректность она проверяет хорошо, но как сделать чтоб она мусор лишний откидывала?

Добавлено через 23 часа 11 минут
что, никто ничего не может подсказать?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
30.11.2012, 12:26
что есть "мусор лишний"?

приведите пример "с мусором"
не шаблон, а именно исходную строку, которую "разбирать" регуляркой собираетесь и укажите - что там есть "мусор"
------

на всякий случай замечу, что модификатор m не поддерживается в javascript'e
в нём работают только два модификатора - g и i (глобальный поиск и регистронезависимость)
0
30.11.2012, 19:06

Не по теме:

Цитата Сообщение от kalabuni Посмотреть сообщение
на всякий случай замечу, что модификатор m не поддерживается в javascript'e
Поддерживается:
JavaScript
1
2
>>> /o$/m.test('foo\nbar')
true

0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
30.11.2012, 21:24
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Поддерживается:
мне ни разу не удалось им воспользоваться когда берешь innerHTML многострочный, пока не "вытянешь" в одну строку, толку не будет
0
01.12.2012, 08:02

Не по теме:

Цитата Сообщение от newJS Посмотреть сообщение
мне ни разу не удалось им воспользоваться когда берешь innerHTML многострочный, пока не "вытянешь" в одну строку, толку не будет
Не исключено, что всему виной - винды со своими \r\n . $ совпадает с позицией перед \n. Если Вы ищете /x$/m в строке "xx\r\nyy", то ничего у Вас и не получится из-за \r.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.12.2012, 08:02
Помогаю со студенческими работами здесь

Вытащить имя файла из УРЛ адреса страницы
Имеется массив: char uri; ,содержащий url адрес, например: http://www.sitename.com/filename.fileformat Необходимо достать имя...

Найти адреса электронной почты в произвольном тексте
Напишите скрипт с использованием регулярных выражений для поиска в произвольной текстовой строке адресов электронной почты. Например,...

Регулярные выражения: найти в тексте e-mail адреса
К сожалению пока нормально в регулярных выражениях не разобрался использую уже готовые Нужно найти в файле e-mail-ы Использую...

Найти все уникальные IP адреса
Здравствуйте. Есть тестовый файл с айпишниками(прикреплен). Стоит задача написать программу, которая находит все уникальные IP-адреса...

Найти на страницах все email адреса
Здравствуйте. Для парсинга страниц я использую htmlagilitypack Как мне найти на страницах все email адреса? HtmlWeb web = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru