Итак, я работаю над проектом, в котором мне нужно регулярное выражение, которое может соответствовать *, за которым следуют 1-4 пробела или табуляции, а затем строка текста. Прямо сейчас я использую .* после просмотра для целей тестирования. Однако я могу заставить его явно соответствовать 1, 2 или 4 пробелам/вкладкам, но не 1-4. Я тестирую следующий блок
* test line here
* Second test
* Third test
* Another test
И это два шаблона, которые я тестирую (?<=(\*[ \t]{3})).*
, которые работают так, как ожидалось, и соответствуют 2-й строке, то же самое, если я заменю 3 на 1, 2 или 4, однако, если я заменю его на 1,4, образуя следующий шаблон (?<=(\*[ \t]{1,4})).*
, он больше не соответствует любой из строк, и я, честно говоря, не могу понять, почему. Я пробовал гуглить без успеха. Я использую флаг g(lobal).