как использовать регулярное выражение для сопоставления строк, за которыми следует ключевое слово и несколько строк - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть такая строка:

...
xxxx
xxx

keyword1 xxxxx
xxxx
xxxx
xxxxx keyword2 yyyy
xxx
xxxx

xxx
...

где x и y - просто случайные символы. Мне нужно сопоставить первое «ключевое слово2 гггг», которое появляется после ключевого слова1, и после ключевого слова 1 может быть несколько строк. Как мне написать регулярное выражение? Спасибо!

1 Ответ

0 голосов
/ 07 ноября 2018

Вы можете использовать это регулярное выражение,

^(?s).*keyword1.*?(keyword2 yyyy).*$

Пояснение:

  • ^ -> начало строки
  • (? S) -> Позволяет точке соответствовать новым строкам
  • . * Ключевое слово1. *? -> Соответствует строке, которая содержит ключевое слово1, перед которым стоят любые символы, выполняющие не жадное совпадение
  • (ключевое слово2 гггг) -> соответствует интересующей вас строке
  • . * $ -> за которыми следуют любые символы и, наконец, конец ввода

Демо

...