正则表达式[\b]、\b和\B的区别

1、[\b] 匹配转义字符\b本身,匹配退格键 \u0008 

print(re.sub(re.compile(r"[\b]", re.S), "|", "That \bdang-to_ot_in' \b#!@\b#$ var\bmint's cost me $199.95!"))

运行结果:That |dang-to_ot_in' |#!@|#$ var|mint's cost me $199.95!

 

2、\b 匹配字母或数字边界

MSDN:匹配必须出现在 \w (字母数字)和 \W (非字母数字)字符之间的边界上

print(re.sub(re.compile(r"\b", re.S), "|", "That \bdang-to_ot_in' \b#!@\b#$ var\bmint's cost me $199.95!"))

运行结果:|That||dang|-|to_ot_in|'#!#$ |var|mint|'|s| |cost| |me| $|199|.|95|!

\b属于匹配位置的元字符,一般作占位作用,而不被捕获,同属于匹配位置的还有匹配行起始位^和行结束位$

 

3、\B 匹配非字母和数字边界

MSDN:匹配不得出现在 \b 边界上

print(re.sub(re.compile(r"\B", re.S), "|", "That \bdang-to_ot_in' \b#!@\b#$ var\bmint's cost me $199.95!"))

运行结果:T|h|a|t d|a|n|g-t|o|_|o|t|_|i|n'| |#|!|@|#|$| v|a|m|i|n|t's c|o|s|t m|e |$1|9|9.9|5!|

非字母数字边界,除了英文字母与数字之外的其他字符均可被匹配到

 

转载于:https://www.cnblogs.com/Primzahl/p/10551994.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值