查找
re.match从开始查找,re.search从任意位置匹配。
re.sub(pattern, repl, string, count=1) 查找后替换。
正则表达式
内容
. 任意字符
* 任意次数
r'\d+' 至少一个数字
o{2} 不能匹配 "Bob" 中的 "o",但是能匹配 "food" 中的两个 o
\w 匹配字母数字及下划线
\W 匹配非字母数字及下划线
\s 匹配任意空白字符,等价于 [ \t\n\r\f]
\S 匹配任意非空字符
\d 匹配任意数字,等价于 [0-9]
\D 匹配任意非数字
\A 匹配字符串开始
\Z 匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串
\z 匹配最后匹配完成的位置
\G 匹配最后匹配完成的位置
[a-zA-Z0-9] 匹配任何字母及数字
[^0-9] 匹配除了数字外的字符
r‘.*’ r表示不将反斜杠识别为转义符
位置
^字符串开始
$字符串末尾
应用
uni_imgfiles = []
for file in imgfiles:
if not re.search(r'_1$', file):
uni_imgfiles.append(file)
print(len(uni_imgfiles), len(imgfiles)-len(uni_imgfiles))
References: