为什么这个正则表达式模式无法匹配字符串

时间:2017-10-17 15:40:36

标签: regex

我正在尝试匹配日期字符串,并在regex101上测试了我的模式。我想我遵循正则表达式规则,但我显然遗漏了一些东西,而且模式与字符串不匹配。

我的正则表达式是:\s?(Mon|Tue|Wed|Thurs|Fri)day\s\d{0,2}(st|nd|rd|th)\s (January|February|March|April|May|June|July|August|September|October|November|December)\,\s\d{4}

我想要匹配的字符串是:

  

2017年10月16日星期一

哪些文件可以出现在包含或不包含前导/尾随空格的文档中。

为什么模式不匹配?

1 个答案:

答案 0 :(得分:0)

通过从帖子中复制你的正则表达式,我看到这里有一个多余的空间:

(st|nd|rd|th)\s (January|
               ↑

我不确定它是否是一个阵型问题。无论如何,删除它,你应该没事。

建议:

根据您使用的语言(标记为Python),使用一个为您解析字符串的库,而不是使用这个(丑陋的)正则表达式。