【发布时间】:2019-02-15 14:37:31
【问题描述】:
我的目标是在提取的数据中找出年份。我有一些看起来像“6/2009”和“3.12.1998”的数据。我想使用正则表达式来查找连续 4 位数字的位置(之间没有特殊字符),但上面的代码返回“6200”和“3121”而不是 2009 和 1998。
output_year = re.findall('\d{4}', extracted_year)
【问题讨论】:
-
不,这是不可能的。在运行
re.findall之前,您必须运行一些re.sub(r'\W+', '', s) -
当你说不可能的时候,你的意思是我想要的输出不可能,还是错误?
-
使用
re.findall('\d{4}', '3.12.1998.')无法获得您当前的输出。 Try it.,您将看到您的代码适用于您的输入。 -
为了清楚起见,您可能想要重命名变量,因为从
extracted_year中提取年份没有意义。 (Wiktor 也是对的:您的示例没有重现问题。) -
Lisa,为了能够帮助您,您应该发布整个相关代码。
标签: python regex python-3.x