У меня есть шаблон регулярных выражений для следующих форматов дат, но они не работают должным образом
1-й месяц / месяц гггг (который должен соответствовать дате типа 2 апреля 1785,1 апреля 1999 года 3 апреля 2000,4 годаЯнварь 1999)
месяц / месяц, 1, гггг (что должно соответствовать дате типа 2 ноября 2000 г., 4 ноября 2000 г.)
1-й месяц / месяц гггг - \s?(?:0?[1-9]|[1,2][0-9]|3[0-1])(?:nd|rd|th|st)?(?:[\s|,|]?\s?)(?:[Jj]an(?:uary)?|[Ff]eb(?:ruary)?|[Mm]ar(?:ch)?|[Aa]pr(?:il)?|[Mm]ay|[Jj]une|[Jj]uly|[Aa]ug(?:ust)?|[Ss]ept(?:ember)?|[Oo]ct(?:ober)?|[Nn]ov(?:ember)?|[Dd]ec(?:ember)?)\s\d{4}
пн / месяц, 1, гггг - \s?(?:[Jj]an(?:uary)?|[Ff]eb(?:ruary)?|[Mm]ar(?:ch)?|[Aa]pr(?:il)?|[Mm]ay|[Jj]une|[Jj]uly|[Aa]ug(?:ust)?|[Ss]ept(?:ember)?|[Oo]ct(?:ober)?|[Nn]ov(?:ember)?|[Dd]ec(?:ember)?)(?:[\s|,]?\s?)(?:0?[1-9]|[1,2][0-9]|3[0-1])(?:[\s|,]?\s?)\s\d{4}
Оба формата принимают более 4 цифр в год, говорят, что я могу дать 2 ноября 200000000, и это совпадение успешно, оно должно принимать только4 цифры