python RE中\b和\B的理解

一直被忽悠,也一直忘记该放前面还是后面,研究了一下,做个记录
\B是\b取反,此处从略;
二者都是anchoring codes的一种

要看官文:\b: empty string at the beginning or end of a word.

明确定义
empty string: 不是“ ”(一个空格),而是一个字符旁的空隙;
word:由字母、数字和_单独或组合构成的连续体,其中不能有其他任何形式的字符;
\b:就是指在word开头或结尾的那个empty string

如果还与在实操中结果不一致,那么是没有加r“…”的原因。
有了上述的准备工作,理解和执行起来就无往不利了。

拓展一下:
anchoring codes还有^与$ \A与\Z两组,两组间的差异在于针对多行的字符串并且编译时又明确了采用多行模式
例如:我们对pattern是如下规定的
multiline = re.compile(r"^\w+“, re.MULTILINE)
multiline2 = re.compile(r”\A\w+", re.MULTILINE)
那么他们针对一个两行的字符串的执行结果是不一样的。
反过来,如果没有明确采用多行模式,二者无差异。
至于^与$内部二者差异一个开头一个是结尾。
至于^与\b的差异是,前者是说跟在它后面的部分都是整个字符串或本行的开头;后者是说我仅仅代表一个word开头的那个empty string。

总结:有疑惑上官文,基础定义要能说服自己,没有任何人能拯救你。
欢迎指正。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值