@grachev_goga

Не могу составить регулярное выражение, что я делаю не так?

Добрый день.
Нужна помощь, уже сломал голову.
Есть список:
fb.ru
avto.ru
solitaire.classicgame.klondike.solitaire.freecard
solitaire.patience.card.games.klondike.free
blabla.ru
tadasuda.ru
Из этого списка нужно выделить вот такие строки по образцу
solitaire.classicgame.klondike.solitaire.freecard
solitaire.patience.card.games.klondike.free
Они могут быть короче или длиннее но в основном всегда присутствует 3-4 точки в тексте.
Пробовал:
[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+
\w+.\w+.\w+.\w+
и много других вариантов, прошу помочь с составлением регулярного выражения.
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
@grachev_goga Автор вопроса
Всем спасибо.
Больше всего подошёл вариант (\w+\.){3,}\w+
ну и додумал вариант, пойти от обратного, минусовать по окончанию в доменной зоне .ru .com и т.д.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@PavelMos
если нужно брать 3 или 4 точки, то сначала делать выражение для 2 точек, а далее использовать конструкцию ИЛИ она же альтернация, которая будет брать следующую 1 или 2 точки.

[a-zA-Z0-9]+\.[a-zA-Z0-9]+(\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+)

https://regex101.com/r/10ZqvF/1

Вот тута, например, про это:

https://learn.javascript.ru/regexp-alternation
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы