使用Python/Jython RegEx在OpenRefine中返回多个结果

使用Python/Jython RegEx在OpenRefine中返回多个结果,python,regex,jython,data-cleaning,openrefine,Python,Regex,Jython,Data Cleaning,Openrefine,因此,我试图提取一些显示为dd.mm.yyyy的日期 有些单元格只包含一个日期,有些单元格包含多个日期(如从dd.mm.yyyy到dd.mm.yyyy),还有更多我不关心的文本 我需要提取这两个日期,以便创建两个列—“From”和“to”,为只有一个日期发生的事件留下空白 我尝试在Python/Jython中使用以下表达式,但它只返回包含多个单元格的第一个日期 import re g = re.search("([0-9])([0-9])\.([0-9])([0-9])\.([0-9])([0-

因此,我试图提取一些显示为dd.mm.yyyy的日期

有些单元格只包含一个日期,有些单元格包含多个日期(如从dd.mm.yyyy到dd.mm.yyyy),还有更多我不关心的文本

我需要提取这两个日期,以便创建两个列—“From”和“to”,为只有一个日期发生的事件留下空白

我尝试在Python/Jython中使用以下表达式,但它只返回包含多个单元格的第一个日期

import re
g = re.search("([0-9])([0-9])\.([0-9])([0-9])\.([0-9])([0-9])([0-9])([0-9])", value)
return g.group()
我怎样才能把这两个日期都退回呢

非常感谢

您可以使用
.findall()
获取所有匹配项。通过删除每个数字的捕获组并使用
\d
而不是
[0-9]

import re
g = re.findall("\d{2}\.\d{2}\.\d{4}", value)
return g

谢谢它在预览中起作用,但当我尝试转换单元格或在此基础上添加新列时,它在数据集上不返回任何内容。我刚刚意识到,我应该指定要在单元格上显示的列表g的哪个成员。成功了!再次感谢:)