呆鸟的Python数据分析Python开发

Python 正则表达式(完整版)

2018-05-18  本文已影响273人  limit_lin

一、正则表达式语法

(一) 字符与字符类

  1. 特殊字符:\.^$?+*{}[]()|

    以上特殊字符要想使用字面值,必须使用\进行转义

  2. 字符类

  1. 速记法

(二)量词

注意点:
以上量词都是贪婪模式,会尽可能多的匹配,如果要改为非贪婪模式,通过在量词后面跟随一个?来实现

(三)组与捕获

  1. ()的作用:
  1. 反向引用前面()内捕获的内容:

(四) 断言与标记

断言不会匹配任何文本,只是对断言所在的文本施加某些约束

  1. 常用断言:
  1. 前瞻回顾的解释

前瞻exp1(?=exp2) exp1后面的内容要匹配exp2
负前瞻: exp1(?!exp2) exp1后面的内容不能匹配exp2
后顾: (?<=exp2)exp1 exp1前面的内容要匹配exp2
负后顾: (?<!exp2)exp1 exp1前面的内容不能匹配exp2
例如:我们要查找hello,但是hello后面必须是world,正则表达式可以这样写:"(hello)\s+(?=world)",用来匹配"hello wangxing""hello world"只能匹配到后者的hello

(五)条件匹配

(?(id)yes_exp|no_exp):对应id的子表达式如果匹配到内容,则这里匹配yes_exp,否则匹配no_exp

(六) 正则表达式的标志

二、Python正则表达式模块

(一)正则表达式处理字符串主要有四大功能

(二) Python中re模块使用正则表达式的两种方法

(三)正则表达式对象的常用方法

(四)匹配对象的属性与方法

(五) 总结

上一篇 下一篇

猜你喜欢

热点阅读