zoukankan      html  css  js  c++  java
  • 【归纳】正则表达式及Python中的正则库

    正则表达式

    正则表达式30分钟入门教程
    runoob正则式教程
    正则表达式练习题集(附答案)

    • 元字符代表单词的分界处,在英文中指空格,标点符号或换行
      • 例子:hi可以用来匹配hi这个单词,且不会匹配到him,china或sushi.
      • 注意并不匹配任何字符,它只匹配一个位置
    • 元字符.代表除了换行符以外的任意字符
    • 元字符*代表数量:它指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配
      • 另一个指代数量的方式是:{n},这里的n可以填入任何数字,代表前面内容的重复次数,比如两个数字:d{2}
    • 更多的元字符
    • 使用分枝条件|时,要注意各个条件的顺序,因为匹配分枝条件时,算法将会从左到右地测试每个条件,如果满足了某个分枝的话,就不会去再管其它的条件了。

    一张图速记正则式

    正则式速记图片

    Python中的正则库(re)

    re库文档
    一些re库的用例

    • 使用match函数来进行正则匹配:re.match(正则式, 要匹配的字符串)
    • 如果匹配成功,match函数将返回一个SRE_Match对象,该对象包含两个方法:
      • group()方法可以输出匹配到的内容
      • span()方法可以输出匹配到的内容在原字符串中的位置范围
    • 使用()可以在匹配到的内容中进一步提取想要的字符串,这些子表达式可通过group(索引)来获得
    • 注意match()方法是从前往后匹配的,如果开头不一致,就得不到匹配结果
    • search()方法在匹配时会扫描整个字符串,所以更适合用来做搜索
    • match和search方法都可以传入第三个参数——修饰符
      • 修饰符re.I:使匹配对大小写不敏感
      • 修饰符re.S:使.(通配符)匹配包括换行符在内的所有字符,这个修饰符在匹配HTML文本时非常常用
    • findall()方法能匹配到符合要求的所有内容,而search()只匹配符合要求的第一个内容
      • findall()的返回结果为列表
    • sub()方法可以用来修改匹配内容:re.sub('匹配内容','替换内容’,目标字符串)
    • compile()方法可以用来封装正则式和修饰符
    • 注意:不同于传统的正则式,re库中用/g<number>来对子表达式进行引用(传统中是用&number
  • 相关阅读:
    Thymeleaf介绍和基本语法使用
    2020版idea及没有default Settings设置的idea,修改默认maven设置、本地仓库的方法
    创建springboot项目的两种方式
    2020版IDEA新建打开*.vue文件
    IDEA新手常用快捷键
    搭建一个maven的web项目
    eclipse、idea引入外部jar包教程
    序列化笔记
    转换流笔记
    缓冲流笔记
  • 原文地址:https://www.cnblogs.com/lokvahkoor/p/10701668.html
Copyright © 2011-2022 走看看