提取日期的python正则表达式
我正在尝试从文本中提取日期。文本必须包含“过期日期:” 有些在排队的地方。我已经编写了这个python脚本提取日期的python正则表达式,python,regex,Python,Regex,我正在尝试从文本中提取日期。文本必须包含“过期日期:” 有些在排队的地方。我已经编写了这个python脚本 date = re.findall('Expiration Date:*(.+)', w.text) 但在某些情况下,这是行不通的。与“注册官注册到期日”的情况相同。 此外,如何检查多种类型的匹配,如文本是否用“到期日”代替“到期日”您可以使用|组合多个正则表达式条件,也可以使用re.IGNORECASE忽略大小写 演示: import re s = """Registrar Regis
date = re.findall('Expiration Date:*(.+)', w.text)
但在某些情况下,这是行不通的。与“注册官注册到期日”的情况相同。
此外,如何检查多种类型的匹配,如文本是否用“到期日”代替“到期日”您可以使用
|
组合多个正则表达式条件,也可以使用re.IGNORECASE
忽略大小写
演示:
import re
s = """Registrar Registration Expiration Date: 10/4/2018
Expiry date: 10/4/2018 """
print(re.findall('Expiration Date:*(.+)|Expiry Date:*(.+)', s, re.IGNORECASE)) #or re.I
您也可以使用一个表达式而不使用或
import re
s = """Registrar Registration Expiration Date: 10/4/2018
Expiry date: 10/4/2018 """
print(re.findall('Exp\w+ Date:*(.+)', s, re.IGNORECASE))
它匹配任何包含Exp和任何后跟日期的单词字符的语句。因此它可以是expire或expire您可以使用以下正则表达式:
exp_date = re.findall(r'exp\w+ date[ :]*\d+[ -/]\d+[ -/]\d+',w.text,re.IGNORECASE)
这将使用大写和小写匹配到期日和到期日,还将使用不同格式匹配日期,如:
- 2010/01/01
- 2010-01-01
- 2010 01 01
string = "lorem ipusm expiry date : 2010-2-1 dolor sit expiration date : 2010/2/1 amet"
match = re.findall(r'exp\w+ date[ :]*\d+[ -/]\d+[ -/]\d+',string,re.IGNORECASE)
print(match)
# output: ['expiry date : 2010-2-1', 'expiration date : 2010/2/1']
提供完整的预期输入/输出(例如,输入看起来像:注册商注册到期日期:9/10/86,到期日期:02-02-2002,等等,输出看起来像:9/10/86)并列出尽可能多的预期边缘大小写可能会有所帮助(例如,大小写不敏感、额外字符/空格等)。是否将模式更改为仅查找单词日期?您应该使用在线正则表达式测试仪(使用Python风格的正则表达式的测试仪)若输入为“注册商注册截止日期:2020-09-28T12:35:25Z”,则输出应为“2020-09-28T12:35:25Z”。若行仅包含“截止日期:2020-09-28T12:35:25Z”,则运行正常。即,若以“截止日期:”开头,则若我只需要日期部分,不是“到期日”?在空格中拆分每个项目并获取最后一个项目。我已经使用这个列表来获得日期列表<代码>[匹配项中的项拆分(“”[-1])