我正在尝试匹配一组数据,即使我可以正确创建正则表达式,Python也不会返回匹配项。我想知道我是否正确地在Python中格式化我的正则表达式。
我正在尝试匹配任何\ r或\ n之后的日期。它可以是以下任何一种:
Date/Time Sep 12 11:13:42
Date/Time Sep 12 11:13:42
Date/Time
Sep 12 11:13:42
Date/Time
Sep 12 11:13:42
使用(?<=Date/Time\s)(\r*[\w :]+)
就任何验证器而言都是有效的。
我输入为date = re.findall("(?<=Date/Time\s)(\r*[\w :]+)", content)
,但我从未收到任何匹配。
正则表达式格式正确。我的问题是,就 Python 而言,我的正则表达式是否格式不正确(非法字符等)?
答案 0 :(得分:1)
但是......它已经有效了:
content = """\
Date/Time Sep 12 11:13:42
Date/Time Sep 12 11:13:42
Date/Time
Sep 12 11:13:42
Date/Time
Sep 12 11:13:42"""
import re
re.findall("(?<=Date/Time\s)(\r*[\w :]+)", content)
#>>> ['Sep 12 11:13:42', ' Sep 12 11:13:42', 'Sep 12 11:13:42']
但是,您应该考虑使用\n
而不是\r
来获取最后的日期。甚至可以使用\s
来匹配任何间距。