0

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

4

1 回答 1

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

于 2013-09-24T22:30:27.553 回答