powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Регулярные выражения и веб-адрес
8 сообщений из 8, страница 1 из 1
Регулярные выражения и веб-адрес
    #33887696
nitro-gl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Не подскажите в чем ошибка в этом регулярном выражении?
\b(http://|www)(.*)\b

Мне надо найти и заменить веб адрес. Только почему-то не входит туда знак / (слэш)

До:

Это the тест www.yandex.ac.ru,
а это просто http://www.yandex.ac.ru.
А вот так еще бывает http://www.yandex.ac.ru/dpage
or http://www.yandex.ac.ru/dpage/

http://yandex.russia.webmatrixhosting.net
После:

Это the тест <a href="www.yandex.ac.ru">link</a>,
а это просто <a href="http://www.yandex.ac.ru">link</a>.
А вот так еще бывает <a href="http://www.yandex.ac.ru/dpage">link</a>
or <a href="http://www.yandex.ac.ru/dpage">link</a> /  <---- ВОТ ВИДИТЕ?

<a href="http://yandex.russia.webmatrixhosting.net">link</a>
шаблон подстановки вот

<a href="$1$2">link</a>
...
Рейтинг: 0 / 0
Регулярные выражения и веб-адрес
    #33887744
RustM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, nitro-gl, Вы писали:

NG>Здравствуйте.
NG>Не подскажите в чем ошибка в этом регулярном выражении?
NG>\b(http://|www)(.*)\b

NG>Мне надо найти и заменить веб адрес. Только почему-то не входит туда знак / (слэш)

Когда люди наконец-то научаться поиском пользоваться. :crash:

Ошибка в твоем выражении — это (.*), где "." значит любой символ и "*" — обозначающий, что предшествующий ему символ может быть повторен ноль или более раз. Таким образом, в твоем случае вся строка от начала первого вхождения (http://|www) и до конца будет воспринято как искомая.

Вот попробуй отпарсить этот текст. Интересно, правда?!


Это the тест www.yandex.ac.ru, а это просто http://www.yandex.ac.ru. А вот так еще бывает http://www.yandex.ac.ru/dpage
wwwэто адрес...
Это вообще цитиата чего-то там "www". Вот всё это будет воспринято как некий мифический адрес web

На заметку, чтобы написать выражение тебе нужно знать, что link может иметь протокол отличнй от http и номер порта... << RSDN@Home 1.2.0 alpha rev. 655>>
...
Рейтинг: 0 / 0
Регулярные выражения и веб-адрес
    #33891422
nitro-gl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо конечно за объяснения, но я знаю, что делает это регулярное выражение :) :super:
Кстати, оно подходит, если у меня нормальные ссылки в тексте встречаются, без извратов.. :)
Я про другое спрашивал. Там, если в веб-адресе есть слэш в конце, то это выражение его (слеш) не воспринимает. Мне не понятно почему... :???:
...
Рейтинг: 0 / 0
Регулярные выражения и веб-адрес
    #33891864
nitro-gl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда вот метасимвол \b что делает?
у меня в книжке написано, что это — границы слова...
я видимо не так понял.:xz:
...
Рейтинг: 0 / 0
Регулярные выражения и веб-адрес
    #33892044
susmanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, nitro-gl, Вы писали:

NG>Тогда вот метасимвол \b что делает?
NG>у меня в книжке написано, что это — границы слова...
NG>я видимо не так понял.:xz:

Думаю, что лучше всего использовать пробельные символы в качестве ограничителей слова.
Их паттерн — \s
Кстати, этот паттерн не ловит пробельный символ с кодом \xA0 — будьте внимательны.



Все о мобильных гаджетах... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
...
Рейтинг: 0 / 0
Регулярные выражения и веб-адрес
    #33892193
RustM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, nitro-gl, Вы писали:

NG>Тогда вот метасимвол \b что делает?
NG>у меня в книжке написано, что это — границы слова...
NG>я видимо не так понял.:xz:

Сейчас совсем нет времени смотреть почему именно последний слеш не захватывает, но попробуй поставить в качестве ограничения конца выражения пробельный символ если уж настаиываешь. :)

(http://|www)(.* ? )\s

На заметку, если порыться в www.regexlib.com, то можно много примеров найти, как выделять в тексте урл-ки... << RSDN@Home 1.2.0 alpha rev. 655>>
...
Рейтинг: 0 / 0
Регулярные выражения и веб-адрес
    #33892955
nitro-gl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На http://www.regexlib.com я уже был, подходящего не нашел пока.
Я пошел по другому пути, скачал книжку по регулярным "Регулярные выражения. 2-е изд" Фридл Дж.
Тут много чего есть, в том числе и то что мне нужно.
В общем спасибо, буду пробовать.
PS
Кстати, RustM, ты случайно в 796 школе не учился?
...
Рейтинг: 0 / 0
Регулярные выражения и веб-адрес
    #33893181
RustM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, nitro-gl, Вы писали:

NG>На http://www.regexlib.com я уже был, подходящего не нашел пока.
NG>Я пошел по другому пути, скачал книжку по регулярным "Регулярные выражения. 2-е изд" Фридл Дж.
:up:
NG>Тут много чего есть, в том числе и то что мне нужно.
NG>В общем спасибо, буду пробовать.
NG>PS
NG>Кстати, RustM, ты случайно в 796 школе не учился?

Нет :)... << RSDN@Home 1.2.0 alpha rev. 655>>
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Регулярные выражения и веб-адрес
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]