У меня проблемы с извлечением определенного набора текста из имени файла с помощью регулярных выражений, ниже вы можете увидеть, что я имею в виду.
Из этого примера мне интересно извлечь "1-2-19 ".
28-3G__1-2-19 02252019.xlsx
Из этого примера я заинтересован в извлечении" 1-5-19 ".
12H-14W_1-5-19 02252019.xlsx
Из этого примера мне интересно извлечь "11-12-18"
343X-N_11-12-18.xlsx
В настоящее время я использую выражение:
(?<=_)(.*?)(?=( +[0-9]{8})?\.xlsx)
, которое возвращает результаты, которые я хочу получить для последних 2 примеров, однакодля первого он возвращает «_1-2-19», и это лишнее подчеркивание вызывает у меня проблемы.
Я пробовал повторения разного рода, но, похоже, ничего не работает.Любая идея будет высоко оценена.
Это разные подходы, которые я безуспешно пробовал:
(?<=(_|__))(.*?)(?=( +[0-9]{8})?\.xlsx)
(?<=__?)(.*?)(?=( +[0-9]{8})?\.xlsx)
(?<=_+)(.*?)(?=( +[0-9]{8})?\.xlsx)