Python正则表达式:匹配一个或另一个命名组
我有一个字符串,可以包含以下内容:Python正则表达式:匹配一个或另一个命名组,python,regex,Python,Regex,我有一个字符串,可以包含以下内容: lots of text Nov 30 2011 lots more of text 或 我想匹配的是该行中的日期。我想得到的是第一行的以下内容: {'date': 'Nov 30 2011', 'time': None} 或第二行: {'date': None, 'time': 'Nov 30 12:48'} 所以我的想法是: re.match( '^.+((?P<date>\w{3} \d{1,2} \d{4})|(?P&l
lots of text Nov 30 2011 lots more of text
或
我想匹配的是该行中的日期。我想得到的是第一行的以下内容:
{'date': 'Nov 30 2011', 'time': None}
或第二行:
{'date': None, 'time': 'Nov 30 12:48'}
所以我的想法是:
re.match(
'^.+((?P<date>\w{3} \d{1,2} \d{4})|(?P<time>\w{3} \d{1,2}:\d{2})).+',
line
)
re.match(
“^.+((?P\w{3}\d{1,2}\d{4})|”(?P\w{3}\d{1,2}:\d{2}))。”,
线
)
但这不起作用,它返回None
。我尝试了一些其他的组合,但都不起作用
我怎样才能做到这一点?您错过了
小组的一天(例如“11月12:48”):
工作示例:(无名称)
re.match(
'^.+((?P<date>\w{3} \d{1,2} \d{4})|(?P<time>\w{3} \d{1,2}:\d{2})).+',
line
)
(?P<date>\w{3} \d{1,2} \d{4})|(?P<time>\w{3} \d{1,2} \d{1,2}:\d{2})
(?P<date>\w{3}\s+\d{1,2})\s+(?:(?P<year>\d{4})|(?P<time>\d{1,2}:\d{2}))