我有这样一个字符串:
textt = '4/20/09 askdaskdkajjasffh haff 11/2/1999 ssaffg gsaff idquyrjdkhfrq 2015'
当我运行以下代码提取日期时,在输出中我得到一个元组列表,我的问题是:为什么每个元组中有3个条目,为什么每个元组中有一个为null?
regex1 = '(\d{1,2}[/-]\d{1,2}[/-]\d{2,4})'
regex2 = '([1|2]\d{3})'
full_regex = '(%s|%s)' %(regex1, regex2)
re.findall(full_regex,textt)
输出:
[('4/20/09', '4/20/09', ''),
('11/2/1999', '11/2/1999', ''),
('2015', '', '2015')]
每个元组中有三个项,因为正则表达式有三个捕获组(匹配的括号)
regex1
有一个组,regex2
有另一个组-并且在构建full_regex
时,在整个表达式周围添加了第三个组一个组始终为空的原因是
regex1
和regex2
中的两个捕获组之一始终为空如果您试图捕获完全匹配,可能只需要
full_regex
中的捕获组,或者,您可以忽略元组中不关心的项相关问题 更多 >
编程相关推荐