python正则为什么有r_Python正则表达式 - r前缀

Python正则表达式 - r前缀

任何人都可以解释为什么下面的示例1有效,何时r不使用前缀?我认为r只要使用转义序列,就必须使用前缀。示例2和示例3证明了这一点。

# example 1

import re

print (re.sub('\s+', ' ', 'hello there there'))

# prints 'hello there there' - not expected as r prefix is not used

# example 2

import re

print (re.sub(r'(\b\w+)(\s+\1\b)+', r'\1', 'hello there there'))

# prints 'hello there' - as expected as r prefix is used

# example 3

import re

print (re.sub('(\b\w+)(\s+\1\b)+', '\1', 'hello there there'))

# prints 'hello there there' - as expected as r prefix is not used

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值