|
26.06.2017, 13:42
|
Интересующийся
|
|
Регистрация: 16.07.2015
Сообщений: 13
|
|
Регулярное выражение "Поиск поддомена"
Подскажите, как мне написать регулярку которая будет искать искать только строки такого типа:
Например: 3ds.bank.ru, 3dsp.bank.ru
Значение 3ds должно быть обязательным, после него может быть от еще от 1 до 2х символов.
Написал:
3ds?\w{1,2}\.\w{1,10}\.(ru|com)
Но мая регулярка пропускает букву S делая её не обязательной.
Пол дня бьюсь не могу понять в чем дело.
|
|
26.06.2017, 13:49
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от corsik
|
Но мая регулярка пропускает букву S делая её не обязательной.
Пол дня бьюсь не могу понять в чем дело.
|
Убрать ? после s. Учтите, набор w содержит и цифры, и символ подчеркивания.
Последний раз редактировалось laimas, 26.06.2017 в 13:53.
|
|
26.06.2017, 13:58
|
Интересующийся
|
|
Регистрация: 16.07.2015
Сообщений: 13
|
|
Сообщение от laimas
|
Убрать ? после s
|
Не катит, символы после 3ds могут быть, а могут и не быть. Это не обязательное требование.
|
|
26.06.2017, 14:09
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от corsik
|
символы после 3ds могут быть, а могут и не быть
|
В вашем шаблоне это условие задается как раз символу s.
|
|
26.06.2017, 14:13
|
Интересующийся
|
|
Регистрация: 16.07.2015
Сообщений: 13
|
|
Сообщение от laimas
|
В вашем шаблоне это условие задается как раз символу s.
|
А как мне задать это условие на следующие символы? Чтобы далее могли бы быть или не быть это 1-2 символа?
т.е. 3ds обязательно, а далее может быть или не быть например p1?
|
|
26.06.2017, 14:24
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
3ds\w{0,2}\.\w{1,10}\.(ru|com)
Если подчеркивания не допустимы, то вместо \w нужно [0-9a-z], и если допускается различие регистра, то шаблон должен иметь флаг i.
|
|
26.06.2017, 15:59
|
Интересующийся
|
|
Регистрация: 16.07.2015
Сообщений: 13
|
|
Спасибо, последний вопрос.
Такая правильно будет если проверять в начале еще присутствие www?
(www\.)?acs[0-9a-z]{0,2}\.\w{1,10}\.(ru|com)
|
|
26.06.2017, 16:07
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
Сообщение от corsik
|
Спасибо, последний вопрос.
Такая правильно будет если проверять в начале еще присутствие www?
(www\.)?acs[0-9a-z]{0,2}\.\w{1,10}\.(ru|com)
|
просто предполагает что оно может быть, но не обязательно.
|
|
26.06.2017, 16:13
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от corsik
|
Такая правильно будет если проверять в начале еще присутствие www?
|
Да, только почему не 3ds? И как понять [0-9a-z] и \w? Может все-таки:
(www\.)?3ds[\da-z]{0,2}\.[\da-z]{1,10}\.(ru|com)
?
Последний раз редактировалось laimas, 26.06.2017 в 16:18.
|
|
|
|