import re
print('\ a:{}个字符,\\a:{}个字符'.format(len('\ a'),len('\a')))
#结果: \ a:3个字符,\a:1个字符
match2 = re.findall('\\\\','\ a')
match3 = re.findall('\\\\','\a')
match4 = re.findall('\\a','\a')
print(match2,match3,match4)
print(match2[0],match4[0])
#结果: ['\\'] [] ['\x07']
#结果: \
match5 = re.findall(r'\\','\ a')
match6 = re.findall(r'\\','\a')
match7 = re.findall(r'\a','\a')
print(match5,match6,match7)
#结果: ['\\'] [] ['\x07']
创新互联成立与2013年,先为涿鹿等服务建站,涿鹿等地企业,进行企业商务咨询服务。为涿鹿企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
第一段:在字符串中,\a为一个字符,\空格为两个字符。
第二段:在字符串中,无法搜索出\a字符中单独的反斜杠\,需要整体字符搜索。当需要搜索单独的一个反斜杠\时,需要使用两个\来搜索,即使用一个转义符\来表示反斜杠本身,re中pattern则要写为'\\\\'或r'\\'。
第三段:r'\'相当于'\\',同理r'\\'相当于"\\\\"。
参考:https://docs.python.org/3/library/re.html#regular-expression-syntax
\
If you’re not using a raw string to express the pattern, remember that Python also uses the backslash as an escape sequence in string literals; if the escape sequence isn’t recognized by Python’s parser, the backslash and subsequent character are included in the resulting string. However, if Python would recognize the resulting sequence, the backslash should be repeated twice. This is complicated and hard to understand, so it’s highly recommended that you use raw stringsfor all but the simplest expressions.
如果你没有使用原始字符串来表达模式,请记住Python也使用反斜杠作为字符串文字中的转义序列; 如果Python的解析器无法识别转义序列,则反斜杠和后续字符将包含在结果字符串中。但是,如果Python识别出结果序列,则反斜杠应重复两次。这很复杂且难以理解,因此强烈建议您使用原始字符串,除了最简单的表达式。
网站标题:[python]rawstring,反斜杠\,reLib
本文URL:https://www.cdcxhl.com/article18/jijhgp.html
成都网站建设公司_创新互联,为您提供自适应网站、面包屑导航、微信小程序、网站策划、品牌网站制作、全网营销推广
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联