Регулярное выражение - только соответствие шаблону определенной длины или меньше

Есть ли способ заставить оператор Regex искать подстановочный знак с максимальной длиной? Например:

somestuff.*morestuff

Если бы я хотел, чтобы приведенное выше соответствовало

somestuffblahmorestuff

но не

somestuffblahblahmorestuff

Возможно ли это?

Ответы

Ответ 1

В соответствии с известной длиной используйте .{2,5}, где 2 - минимальное количество символов, а 5 - макс. оба значения являются необязательными, но вам нужен один или другой

Подробнее можно прочитать по этой теме здесь

Ответ 2

в регулярном выражении:

{n}Соответствует предыдущему элементу ровно n раз.

{n,}Соответствует предыдущему элементу как минимум n раз.

{n,m}Соответствует предыдущему элементу не менее n раз, но не более m раз.

например:

,\d{3} соответствует ,876, ,543 и ,210 в 9,876,543,210

\d{2,} соответствует 166, 29, 1930

\d{3,5} соответствует 19302 в 193024

Ответ 3

somestuff.{4,7}morestuff

{min, max} - это синтаксис для указания числа повторений.