• 正则表达式 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)

    匹配结果如下所示:

  • 相关阅读:
    函数高阶(函数,改变函数this指向,高阶函数,闭包,递归)
    案例:新增数组方法
    案例:商品查询
    案例:forEach和some区别
    ES5新增方法(数组,字符串,对象)
    案例:借用父构造函数继承属性和方法
    构造函数 和 原型
    汽车小常识别让六大汽车驾驶软肋阻碍你
    Opencv 图像增强和亮度调整<6>
    C# StringBulider用法<1>
  • 原文地址:https://www.cnblogs.com/lxz123/p/15263052.html
Copyright © 2020-2023  润新知