Regex выражение
Пытаюсь сделать регулярное выражение для удаления всех дат любого формата:
октябрь 2019, ОКТЯБРЬ 2019, Октябрь 19, 15.04.2019, 15 Октября 2019 и тп. Но мое выражение захватывает ненужные и не все поля в строке. Подскажите, пожалуйста как исправить.
Текущее выражение: ((Д|д)(екабр|ЕКАБР)(ь|я|Ь|Я|е|Е)|(Я|я)(нвар|НВАР)(я|ь|Я|Ь|е|Е)|(Ф|ф)(еврал|ЕВРАЛ)(я|ь|Я|Ь|Е|е)|(М|м)(арт|АРТ)(а|А|Е|е| )|(А|а)(прел|ПРЕЛ)(ь|я|Ь|Я|е|Е)|(М|м)(а|А)(я|й|Я|Й|е|Е)|(И|и)(юн|ЮН)(я|ь|Я|Ь|е|Е)|(И|и)(юл|ЮЛ)(я|ь|Я|Ь|е|Е)|(А|а)(вгуст|ВГУСТ)(а|А|е|Е| )|(С|с)(ентябр|ЕНТЯБР)(я|Я|Ь|ь|е|Е)|(О|о)(ктябр|КТЯБР)(я|Я|ь|Ь|е|Е)|(Н|н)(оябр|ОЯБР)(я|Я|Ь|ь|е|Е))?([0-9])?( )?([0-9])?(\.|\\|\/| )([0-9])?( )?([0-9])?( )?(\.|\\|\/| )?[0-9]( )?[0-9]([0-9][0-9])?( г.|г.|года| года|)?
Текущая строка для проверки: Оплата за выполненные работы в октябре 2019 года дог.N07/18 от 30.03.2018г. по негарантированному заказу, сч.N00290005604 от 08.11.2019, вт.ч. НДС (20%) от 12 сентября 2020 года 381,36
Ответы (1 шт):
Флаги: gmiu (global, multiline, insensitive, unicode)
(?:в|от)?\s*(?:\d{1,2})?\s*\b(?:янв|фев|мар|апр|ма|июн|июл|авг|сен|окт|ноя|дек)\w*\b\s*\d{4}\s*(?:г\.|года?)|(?:от|в)?\s*\d{2}\.\d{2}.\d{4}(?:г\.?)?
Заменить на "". Результат на тестовой строке:
Текущая строка для проверки: Оплата за выполненные работы дог.N07/18 по негарантированному заказу, сч.N00290005604 , вт.ч. НДС (20%) 381,36