我正在尝试使用re
将文本挖掘到列表中
以下是我写的:
dateStr = "20 Mar 2009; 20 March 2009; 20 Mar. 2009; 20 March, 2009"
regex = r'(?:\d{1,2}[/-]*)?(?:Mar)?[a-z\s,.]*(?:\d{1,2}[/-]*)+(?:\d{2,4})+'
result = re.findall(regex, dateStr)
即使我在表达式的开头声明了(?:\d{1,2}[/-]*)
,我也缺少天数数字。这是我得到的
:
['Mar 2009', 'March 2009', 'Mar. 2009', 'March, 2009']
你能帮忙吗? 谢谢
编辑:
通过评论解决了这个问题。
原始赋值字符串:
dateStr = "04-20-2009; 04/20/09; 4/20/09; 4/3/09; Mar 20, 2009; March 20, 2009; Mar. 20, 2009; Mar 20 2009; 20 Mar 2009; 20 March 2009; 2 Mar. 2009; 20 March, 2009; Mar 20th, 2009; Mar 21st, 2009; Mar 22nd, 2009; Feb 2009; Sep 2009; Oct 2010; 6/2008; 12/2009; 2009; 2010"
众多方法之一:
输出:
我将使用:
上面使用的“一刀切”正则表达式模式表示要匹配:
相关问题 更多 >
编程相关推荐