我正在使用dateparser模块将一些人类可读的文本解析为python date time对象。现在,我有一个正则表达式字符串列表,并应用于输入字符串,以找出是否有任何匹配。
我想使用dateparser使用的正则表达式列表的完整列表,有没有办法获得列表,或者有没有办法只在输入字符串上工作。
我的列表如下
date_regex = ['[0-9]+ days', 'yesterday', '[0-9]+ weeks', 'a week', '1 week', 'last week', '[0-9]+ months', 'a month', '1 month', 'year']但是使用dateparser可以解析像1 year ago,last 3 mins ago这样的字符串。因此,我想使用dateparser使用的所有可用的正则表达式。
我的输入包含大量文本,也包括与日期/时间相关的字符串。所以我需要提取它们,并使用dateparser将它们转换为date time对象。
使用示例input="I booked a movie 4 days ago, but planned last week"进行更新。我需要提取4 days ago和last week。我想在dateparser中应用所有可用的正则表达式字符串。
发布于 2018-05-10 19:07:40
为什么不直接使用dateparser包呢?从自然语言中解析数据是相当复杂的,有很多边缘情况。如果你只是好奇他们在做什么,最好的办法就是看看源代码。
编辑:
您可以将字符串列表转换为正则表达式:
import re
regexes = list(map(lambda x: re.compile(x), items))https://stackoverflow.com/questions/50271452
复制相似问题