Forum Webscript.Ru

Программирование => Perl => Тема начата: sickboy от 28 Февраля 2005, 18:46:18

Название: еще вопрос про регэкспы
Отправлено: sickboy от 28 Февраля 2005, 18:46:18
Из файла необходимо обрабатывать только имена доменов только в зонах .ru, .com, .org, .net, .info, .biz (причем домены второго уровня, т.е. одна точка), использую такую конструкцию if (/[a-z0-9\\-]+\\.[rucomgnetifbz]/), но что-то не работает.(
Название: еще вопрос про регэкспы
Отправлено: NeoNox от 28 Февраля 2005, 18:59:02
[rucomgnetifbz] заменяем на (ru|com|net|biz|org)
Название: еще вопрос про регэкспы
Отправлено: sickboy от 28 Февраля 2005, 20:07:37
thnx,
но если домен третьего уровня напр. host.domain.net, то правило его пропускает.
Название: еще вопрос про регэкспы
Отправлено: NeoNox от 28 Февраля 2005, 20:17:08
if (/([a-z0-9\\-]+\\.)+(ru|com|net|biz|org)/)
Название: еще вопрос про регэкспы
Отправлено: sickboy от 28 Февраля 2005, 23:27:34
все равно не пашет.
пробовал и так, все равно
/[a-z0-9\\-]+(\\.ru|\\.com|\\.net|\\.biz|\\.org|\\.info|\\.cc)/
пропускает домены вида host.domain.net
Название: еще вопрос про регэкспы
Отправлено: 2NetFly от 01 Марта 2005, 00:47:34
Цитировать
sickboy:
пропускает домены вида host.domain.net

Регулярное выражение, приведенное NeoNox, составлено верно. Ищи ошибки в своем коде.
Название: еще вопрос про регэкспы
Отправлено: NeoNox от 01 Марта 2005, 11:48:42
Цитировать
sickboy:
пропускает домены вида host.domain.net

Извини, не вчитался. Решил, что нужно пропускать. Если не нужно - то вот такой вариант должен работать.
if (/^[a-z0-9\\-]+\\.(ru|com|net|biz|org)/)
Название: еще вопрос про регэкспы
Отправлено: 2NetFly от 01 Марта 2005, 11:56:30
Только дошло, что имелось в виду =) Тогда не "пропускает", а наоборот "съедает" =)
Название: еще вопрос про регэкспы
Отправлено: NeoNox от 01 Марта 2005, 12:00:47
2NetFly аналогично (: