Извините, я не могу сформулировать хороший вопрос:
Это регулярное выражение должно найти слово 'period', за которым следует пробел и одна цифра:
period.*(?=\s[0-9]{1})|alternative
Если я введустрока TEST 2019 to period 3.csv
регулярное выражение соответствует period
.
Если я введу строку TEST period 3 2019.csv
, регулярное выражение соответствует period 3
.
Мое предполагаемое совпадение равно period 3
Вы можете увидеть, что я имею в виду из этого скриншота из regex101:

Пока что я решил это с положительным взглядом позади.например:
(?<=period\s)[0-9]{1,4}|alternative
Это соответствует цифре после «периода», и я могу просто добавить «период» для моей конкретной цели.Но я не понимаю, почему у меня разные совпадения.