正则表达式 B 是什么意思? 怎么用?

1. 在ASCII字符中代表退格键, 但是  同时也是一个正则表达式的特殊符号
为了让RE编译器把  当做你想匹配的字符串,而非一个退格键,需要用另外一个反斜线进行转义, \b

2. 代表字与字中间那个看不见的东西,如

here is a word
那么,这句中有好几个, 每个单词的前后都有一个.

所以你用 here 可以匹配上面这个here,但如果here 不是一个单词,而是一个单词的一部分,如 adheread, 这样的话,用here 可以匹配,用here就不能区配了,因为ad后面没有. 所以 adhere 中的here 不会被匹配。

总结:  就是用在你匹配整个单词的时候。 如果不是整个单词就不匹配。 你想匹配 I 的话,你知道,很多单词里都有I的,但我只想匹配I,就是“我”,这个时候用 I

B就是反过来,代表非字间。 类似d代表数字, D代表非数字。

3.我在用python用正则匹配的时候,想将内容按词汇进行匹配相应的结果,一直匹配不出来,后面查了一下的含义,发现将写成\b就可以匹配出来。

如:

pattern = re.compile('I|II|III|IV|V|VI|VII|VIII|IX')
        print(pattern)
        print(pattern.findall(keya["name"]))
        if pattern.findall(keya["name"]):
            data.append(keya)

这样写,匹配出来的结果为空,当写成这样子的时候:

  pattern = re.compile('\bI\b|\bII\b|\bIII\b|\bIV\b|\bV\b|\bVI\b|\bVII\b|\bVIII\b|\bIX\b')
        print(pattern)
        print(pattern.findall(keya["name"]))
        if pattern.findall(keya["name"]):
            data.append(keya)

匹配结果如下所示:

原文地址:https://www.cnblogs.com/lxz123/p/15263052.html