【发布时间】:2018-11-28 07:39:16
【问题描述】:
我正在尝试根据 RegEx 模式验证字符串,然后我想要模式搜索中的月份和年份。模式匹配很好,我可以看到日期和年份但月份是空的
import re
txt = '25-Nov-18'
pattern = re.compile('^(\d{1,2})(\/|-)[a-zA-Z]{3}(\/|-)(\d{2})$')
if pattern.match(txt):
m = pattern.search(txt)
print(m.group(1), m.group(2), m.group(3), m.group(4))
结果是
25 - - 18
仅供参考:m.group(0) 是25-Nov-18
我在这里遗漏了什么吗? 还有比这更好的方法吗?
【问题讨论】:
-
不,您没有遗漏任何东西,您只是打印了捕获的内容。见your regex demo。您一定想要
'^(\d{1,2})[/-]([a-zA-Z]{3})[/-](\d{2})$'并打印 3 个组。见this demo