贴吧图片正则表达式匹配出错:如何解决 TypeError: expected string or bytes-like object 错误?
正则表达式匹配贴吧图片出错
在编写正则表达式时,匹配贴吧图片的 url 时出现 typeerror: expected string or bytes-like object 错误。这个问题出在正则表达式中使用反向引用时,其中一个反向引用将一个字符串和一个 group 进行了连接,导致出现了错误。
问题示例
以下正则表达式试图匹配带有 width 或 height 属性的贴吧图片 url:
re.compile('r<img.+?src="(.+?\.jpg)" (width|height)')
执行此正则表达式会导致错误:
typeerror: expected string or bytes-like object
原因
错误的原因是,正则表达式中的第二个反向引用将表示宽度或高度属性值的 group (width|height) 与字符串 “<img.+?src=”(.+?.jpg)” width” 连接在一起。在 python 中,字符串和 group 无法连接。
解决方案
要解决此问题,需要使用适当的正则表达式语法来连接字符串和 group。正确的正则表达式如下:
re.compile('r<img.+?src="(.+?\.jpg)" "(width|height)"')
在这个正则表达式中,字符串 “<img.+?src=”(.+?.jpg)” ” 与 group (width|height) 使用双引号连接。双引号表示连接字符串。
今天关于《贴吧图片正则表达式匹配出错:如何解决 TypeError: expected string or bytes-like object 错误?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注公众号!