re.search
是必经之路。让我们尝试两个示例:
import re
string1 = 'abc.2018-12-22 ghi'
string2 = ' or _2019-12-18.2929'
re.search('(\.|_)(\d{4}-\d{2}-\d{2})',string1).group(2)
re.search('(\.|_)(\d{4}-\d{2}-\d{2})',string2).group(2)
输出:
'2018-12-22'
'2019-12-18'
说明:
re.search
查找匹配组,然后可以将其提取。每个组都用括号括起来。让我们分解正则表达式(\.|_)(\d{4}-\d{2}-\d{2})
:
(\.|_)
:找到一个.
或一个_
字符。 ({\
是转义字符,它使您可以将.
用作字符而不是其正则表达式的含义)。这是第1组。
(\d{4}-\d{2}-\d{2})
:然后,找到4个数字,破折号,2个数字,破折号和2个数字。因为它也用括号括起来,所以这是第2组和您感兴趣的组,这就是为什么我们将group(2)
添加到re.search
。
,
您可以执行以下操作:
import re
backups=["2018-12-22","_2018-12-23","2019/23/14",".2019-23-14","2019-12-23"]
ignore_regex = re.compile(r"[_|.]\d{4}-\d{2}-\d{2}")
for i in backups:
ignore = True if ignore_regex.match(i) else False
print(i,ignore)
结果:
2018-12-22 False
_2018-12-23 True
2019/23/14 False
.2019-23-14 True
2019-12-23 False
编辑1
ignore_regex = re.compile(r"auto[_|.]\d{4}-\d{2}-\d{2}")
本文链接:https://www.f2er.com/3150759.html