正则表达式:返回或换行后Python首次出现

时间:2013-09-24 22:26:07

标签: python regex

我正在尝试匹配一组数据,即使我可以正确创建正则表达式,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 而言,我的正则表达式是否格式不正确(非法字符等)?

1 个答案:

答案 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来匹配任何间距。