Почему регулярка не захватывает строку?

Здравствуйте.
Стоит задача 1 регуляркой захватывать все поддомены в *.google.com, кроме случаев, когда домен 3 уровеня play или gemini.

Т.е. вот такие варианты, должны исключаться
play.google.com
test.play.google.com
sub.test.play.google.com
аналогично и с gemini.

Составил такую регулярку, через негативную ретроспективную проверку:
(([a-z0-9\-]+\.)*(?<!(play|gemini)\.))?google\.com

Составил тестовый список строк с урлами:
google.com
www.google.com
play.google.com
test.play.google.com

play1.google.com
test.play1.google.com
1play.google.com
test.1play.google.com

1play1.google.com
test.1play1.google.com
te-st.api.google.com

Но по данным regexr.com выделенные жирным строки не попали в регулярку.
3 и 4 строка верно исключились, отлично.
Не могу понять почему, если перед play имеет подстрока, то она исключается. Ведь 1play.google.com это уже другой ваирант.
Подскажите пожалуйста как исправить?
Спасибо.
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
Alexandroppolus
@Alexandroppolus
кодир
^(([a-z0-9_-]+\.)*(?!(play|gemini)\.)[a-z0-9_-]+\.)?google\.com$
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы