Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在检测年份和月份时,在正则表达式中使用逻辑OR_Python_Regex - Fatal编程技术网

Python 在检测年份和月份时,在正则表达式中使用逻辑OR

Python 在检测年份和月份时,在正则表达式中使用逻辑OR,python,regex,Python,Regex,我想在字符串中查找月份和年份范围,我尝试了以下正则表达式 (\b\d{1,2}\D{0,3})?\b(?:jan(?:uary)?|feb(?:ruary)?|mar(?:ch)?|apr(?:il)?|may|jun(?:e)?|jul(?:y)?|aug(?:ust)?|sep(?:tember)?|oct(?:ober)?|(nov|dec)(?:ember)?)\D?(\d{1,2}(st|nd|rd|th)?)?(([,.\-\/])\D?)?((19[7-9]\d|20\d{2})|

我想在字符串中查找月份和年份范围,我尝试了以下正则表达式

(\b\d{1,2}\D{0,3})?\b(?:jan(?:uary)?|feb(?:ruary)?|mar(?:ch)?|apr(?:il)?|may|jun(?:e)?|jul(?:y)?|aug(?:ust)?|sep(?:tember)?|oct(?:ober)?|(nov|dec)(?:ember)?)\D?(\d{1,2}(st|nd|rd|th)?)?(([,.\-\/])\D?)?((19[7-9]\d|20\d{2})|\d{2})*

虽然它工作得很好,但它无法检测到像“1993-2018”这样的模式。我知道
((19[7-9]\d|20\d{2})\d{2})*
会找到以下模式,但我不知道如何创建逻辑
要做到这一点,任何帮助都将不胜感激。

请注意一个直接的答案,但看起来您可能想看看您已经使用过的或使用过的
@prhmma我知道,我自己也尝试过,但不幸的是,我没能做到。请提供一个输入集合和所需的列表,列出其中应该匹配的内容。你的正则表达式匹配天,但你不在文本中谈论它们。