@ood1n
Пытаюсь развиться

Как написать регулярное выражение, которое ищет слово после определенного символа?

Здравствуйте. Мне нужно, чтобы регулярное выражение находило совпадение, если в строке есть слово "другой", находящее после первой запятой и любого количества пробелов после первой запятой и после него должна следовать запятая.
То есть в следующих 4 строках, регулярное выражение должно найти совпадение во второй и третьей строке.
1) различный, разный, другой, отличный от, необычный, неодинаковый, непохожий, не такой
2) втор ой, другой, второй, секунда, вторым номером, подкреплять
3) тут может быть любое количество слов главное чтобы до запятой, другой, второй, секунда, подкреплять
4) другой, остальные, иной, другой, иначе
Вот ссылка на regex101. Я там написал свой вариант, но он не работает, и я не понимаю почему :(
  • Вопрос задан
  • 7588 просмотров
Пригласить эксперта
Ответы на вопрос 3
@StockholmSyndrome
Ответ написан
Комментировать
@IS-Builder
~ PHP-8 & REGEXP - This is a really powerful kit ~
Ответ на вопрос: ^(?:[\pL\h]+,)\h*\Kдругой,\h*.+$
Ответ написан
Комментировать
xEpozZ
@xEpozZ
Веб-разработчик
Ваше выражение выглядит так:
^[\s\S^,]*?,\s+другой, .*

Зачем вы используете "[\s\S^,]*?"?
Из прочитанного я так и не понял, что вы конкретно хотите найти. Текст для поиска здесь и на сайте различается.
Задачу понял как:
1. До "другой" в строке должна встретится лишь 1 запятая
2. После слова "другой" должна быть запятая
3. Остальное не важно

^[^,]*,\s+другой,

^ - обозначает начало строки.
[^,]* - означает любое(даже 0) кол-во символов, кроме "," с начала строки
, - значит обязательно должна стоять запятая
\s+ - значит любой "whitespace"(пробел, таб), но как минимум 1
другой - собственно, искомое слово
, - нужная запятая после этого слова.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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