У меня есть набор строк с довольно противоречивыми именами, которые должны быть достаточно структурированы, чтобы разделить их на группы.
Вот выдержка:
test test 1970-2020 w15.txt
test 1970-2020 w15.csv
test 1990-99 q1 .txt
test 1981 w15 .csv
test test w15.csv
Я пытаюсь извлечь информация по группам (имя-теста, (год) ?, суффикс, тип) с использованием следующего RegEx:
(.*)\s+([0-9]+(\-[0-9]+)?\s+)?((w|q)[0-9]+(\s+)?)(\..*)$
Работает за исключением дополнительной группы, совпадающей с годами (интервал года, один год или нет). год вообще). Чего мне не хватает, чтобы заставить шаблон работать?
Вот также ссылка на RegEx101 для тестирования:
https://regex101.com/r/wG3aM3/817