已解决re.error: bad escape \z at position 4

已解决(Python正则报错)re.error: bad escape \z at position 4










报错代码



粉丝群里面的一个小伙伴想用re模块的\z,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下:

import re


print(re.findall(".*?c\z","abc"))
print(re.findall(".*?c\z","ab"))



报错信息截图

在这里插入图片描述





报错翻译



报错信息翻译

重新。错误:位置4处的错误转义\z





报错原因



报错原因

Python re不支持斜杠小z了 \z,Python现版本已用其他的字母作为与字符串末尾匹配的等效模式。您的模式要求在模式末尾有文字z char。小伙伴看下面的代码修改即可!!!





解决方法



在Python中,标记\Z的作用与\z在其他引擎中的作用相同:它仅在字符串的末尾匹配。 修改z为大Z即可:

import re


print(re.findall(".*?c\Z","abc"))
print(re.findall(".*?c\Z","ab"))


运行结果:

['abc']
[]

帮忙解决

本文已收录于:《告别Bug》专栏

本专栏用于记录学习和工作中遇到的各种疑难Bug问题,以及粉丝群里小伙伴提出的各种问题,文章形式:报错代码 + 报错翻译 + 报错原因 + 解决方法,包括程序安装、运行程序过程中等等问题,订阅专栏+关注博主后如遇到其他问题可私聊帮忙解决!!!

猜你喜欢

转载自blog.csdn.net/yuan2019035055/article/details/126468528