RegEx: Наименьшее соответствие или нежадное соответствие

Как я говорю RegEx (версия.NET) получать наименьшее допустимое соответствие вместо самого большого?

90
задан XenoRo 20 September 2016 в 03:18
поделиться

2 ответа

Для регулярного выражения, такого как . * или . + , добавьте вопросительный знак (. *? или . +? ), чтобы сопоставить как можно меньше символов. Чтобы при желании сопоставить раздел (?: blah)? , но без сопоставления, кроме случаев крайней необходимости, используйте что-то вроде (?: blah) {0,1}? . Для повторяющегося совпадения (с использованием синтаксиса {n,} или {n, m} ) добавьте вопросительный знак, чтобы попытаться найти как можно меньше совпадений (например, {3 ,}? или {5,7}? ).

172
ответ дан 24 November 2019 в 06:56
поделиться

Нежадный оператор, ? . Примерно так:

.*?
66
ответ дан 24 November 2019 в 06:56
поделиться
Другие вопросы по тегам:

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