【归纳】正则表达式及Python中的正则库

正则表达式

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

  • 元字符\b代表单词的分界处,在英文中指空格,标点符号或换行
    • 例子:\bhi\b可以用来匹配hi这个单词,且不会匹配到him,china或sushi.
    • 注意\b并不匹配任何字符,它只匹配一个位置
  • 元字符.代表除了换行符以外的任意字符
  • 元字符*代表数量:它指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配
    • 另一个指代数量的方式是:{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

转载于:https://www.cnblogs.com/lokvahkoor/p/10701668.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值