Python 正则表达式(基础)

版权声明:本文为博主原创文章,可以转载,但得注明出处。更多精彩文章请关注微信公众号:gloryroadtrain https://blog.csdn.net/SeeTheWorld518/article/details/49302577

Python正则表达式定义

正则表达式(regular expression)是一个特殊的字符序列,描述了一种字符串匹配的模式可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串,或者是在指定的文章中,抓取特定的字符串等。python处理正则表达式的模块是re模块,它是Python语言拥有全部的正则表达式功能。
正则表达式由一些普通字符和一些元字符组成。普通字符包括大小写的字母、数字和打印符号,而元字符则是具有特殊含义的字符。

正则表达式结构:

锚定符(^和$) 字符集 修饰符

如果在正则表达式中不加锚定符,就会整行匹配。
正则表达式匹配的流程:
2

正则表达式大致的匹配过程是:拿正则表达式依次和字符串或者文本中的字符串做比较,如果每一个字符都能匹配,则匹配成功,只要有一个匹配不成功的字符则匹配不成功。

Python中支持正则的元字符

Python中支持正则表达式元字符与其他语言有些不同,不过大部分都是相同的,下面是Python中支持正则表达式的元字符表:

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

完整的正则表达式模式

模式字符串使用特殊的语法来表示一个正则表达式。

  • 字母和数字匹配它们自身。
  • 多数字母和数字前加一个反斜杠(\)时会有特殊的含义。
  • 特殊的标点符号,只有被转义以后才能匹配自身。
  • 反斜杠本身需要反斜杠来转义。

注意:

  • 由于正则表达式通常包含反斜杠等特殊字符,所以我们最好使用原始字符串来表示它们。如r’\d’,等价于’\\d’,表示匹配一个数字。
  • Python正则表达式中,数量词默认都是贪婪的,它会尽可能多的去匹配满足的字符,但是如果我们在后面加上“?”,就可以屏蔽贪婪模式,表示匹配尽可能少的字符。如字符串:”xyyyyzs”,使用正则“xy*”去匹配时,就会得到“xyyyy”;如果使用正则“xy*?”,将只匹配“x”。

正则表达式修饰符(可选标志)

正则表达式可以包含一些可选标志修饰符来控制匹配模式。修饰符被指定为一个可选的标志,用在正则表达式处理函数中的flag参数中。多个标志可以通过按位OR(|)它们来指定。如re.I | re.M 被设置成 I 和 M 标志,表示同时有效。这些修饰符一般都用在正则表达式处理函数中。

这里写图片描述

猜你喜欢

转载自blog.csdn.net/SeeTheWorld518/article/details/49302577