字符串前的r

2020年5月23日 / 4次阅读 / Last Modified 2020年5月23日
re模块字符串

在python中,字符串前的r表示raw,即这是一个raw string。raw string的意思是,此字符串中的 \n \b \r ... 等转义符号,就不进行转义了。(\b\r可以实现字符界面的原地打印

>>> print(r'abcd\n1234')
abcd\n1234
>>> print('abcd\n1234')
abcd
1234

不转义后,转义符号就变成了2个字符。

特别注意的是,在正则表达式中,有一些符号和转义符号相同,因此要在正则表达式前加上r,不做转义,维持其原有的在正则表达式中的含义。

>>> re.search('\bpynote[.]net\b', 'pynote.net')  # no match
>>> re.search(r'\bpynote[.]net\b', 'pynote.net')
<re.Match object; span=(0, 10), match='pynote.net'>

如果没有前面的r,正则表达式中的\b就不知道是啥了...

-- EOF --

本文链接:https://www.pynote.net/archives/1959

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top