Python Basic - r 字母所代表的意义

关于python的语法解释器与re模块语法解释器的冲突情况

python程序的运行需要依靠python解释器对语法进行语法分析,词法分析,而在python中如果又impot了像re(正则表达式)等模块,这种情况下,对于一些特殊字符的意义会有相应的冲突。例如“\”对于python解释器和正则表达式的解释器都有特殊的意义,所以需要提前了解释的顺序跟过程。又例如“\b”在ASCII中表示退格键,而在python中,"\b"是一个正则表达式的符号,用于表述特殊字符的边界。所以,想让正则表达式将“\b”表达成字符的边界而不是退格键,所以需要多加一个“\”来表示转义,即“\b”。
上述方法可以说是通过解释器一层层的传递进入到re模块的,但是这种方法较为复杂,还得“算一算”,正则表达式一复杂就更为麻烦了,在正则表达式之前,使用"r"表示python并不去解析特定字符串的意义,而是将看到的任何字符当成普通字符。换句话说,python不在将看到的特殊字符当成特殊字符来处理了。

示例:

import re

print("Elon Musk is the CEO of the SpaceX.")
print("Elon Musk is the \n CEO of the SpaceX.")
print(r"Elon Musk is the \n CEO of the SpaceX.")

"""
Elon Musk is the CEO of the SpaceX.
Elon Musk is the 
 CEO of the SpaceX.
Elon Musk is the \n CEO of the SpaceX.
"""

r 去掉了\n换行的意义,直接当成字符串打印在了结果中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值