设置
我有一组大量的产品图片,其中一些在文件名中包含产品的SKU。
我需要检查文件名是否包含产品的SKU。
所有的SKU都由5个数字、一个下划线和2个数字组成;例如:'10008_01'
、'23521_18'
等。
我的代码
我正在使用我在这里找到的正则表达式设置:
for image in product_image_list:
if re.match(r"^[0-9]{5}$" + '_' + r"^[0-9]{2}$", image):
print('Match: '+ image)
else:
print("NO match: " + image)
其中,
image
是图片文件名,例如'FINAL 10008_01_angle.jpeg'
或'FINAL 10008_detail_B.jpeg'
等。product_image_list
是包含这些图片的列表。
问题
上述代码不匹配,只会产生 'No match'
。
如何使其正常工作?即如何获得:
'Match: FINAL 10008_01_angle.jpeg'
'No match: FINAL 10008_detail_B.jpeg'
if re.search(r'(?<!\d)[0-9]{5}_[0-9]{2}(?!\d)', image):
。 - Wiktor Stribiżewre.search
而不是re.match
? - LucSpanFINAL 2310008_0231_angle.jpeg
,您是否希望将其返回为匹配项? - Wiktor Stribiżew