正则表达式在Pythex上运行良好,但在Python中却无法正常运行

正则表达式在Pythex上运行良好,但在Python中却无法正常运行,第1张

正则表达式在Pythex上运行良好,但在Python中却无法正常运行

您需要使用

re.search()
,不
re.match()
re.search()
匹配字符串中的任何地方,而
re.match()
仅匹配开头。

import refn_list = ['IMG_0064.png','IMG_0064.JPG','IMG_0064_1.JPG','IMG_0064_2.JPG','IMG_0064_2.PNG','IMG_0064_2.BMP','IMG_0064_3.JPEG','IMG_0065.JPG','IMG_0065.JPEG','IMG-20150623-00176-preview-left.jpg','IMG-20150623-00176-preview-left_2.jpg','thumb_2595.bmp','thumb_2595_1.bmp','thumb_2595_15.bmp']pattern = re.compile(r'(d|t)(_d+){1}.', re.IGNORECASE)for line in fn_list:    search_obj = re.search(pattern, line)  # CHANGED HERE    if search_obj:        matching_group = search_obj.groups()        print matching_group

结果:

('4', '_1')('4', '_2')('4', '_2')('4', '_2')('4', '_3')('t', '_2')('5', '_1')('5', '_15')

由于您要编译正则表达式,因此可以

search_obj = pattern.search(line)
代替
search_obj =re.search(pattern,line)
。至于您的正则表达式本身,
r'([dt])(_d+).'
等同于您正在使用的正则表达式,并且更加简洁。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5431530.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存