Регулярный поиск между двумя строками, но остановка при первом появлении - PullRequest
0 голосов
/ 31 января 2019

В Блокноте ++ я использую поиск регулярных выражений для выделения текста между двумя строками, но я хочу, чтобы поиск останавливался после первого появления последней строки.

Например, с использованием этого набора текста ....

Строка 1 foo bar String2 больше текста String2 еще больше текста String2

Мой код ниже выбирает все, начиная со строки 1 вплоть до последней строки 2.
Как сделатьЯ указываю выбирать только от String1 до первого появления String2

(?=String1)[\s\S]*(?=String2)

Фактически выделенный результат:

String 1 foo bar String2 больше текста String2 еще больше текста String2

Требуемый выделенный результат:

Строка 1 foo bar String2

1 Ответ

0 голосов
/ 31 января 2019

Знак вопроса делает квантификатор * «ленивым» вместо «жадного», поэтому это должно работать;

(?=String1)[\s\S]*?(?=String2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...