正则表达式(regular expression)是一个特殊的字符序列,描述了一种字符串匹配的模式可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串,或者是在指定的文章中,抓取特定的字符串等。python处理正则表达式的模块是re模块,它是Python语言拥有全部的正则表达式功能。
正则表达式由一些普通字符和一些元字符组成。普通字符包括大小写的字母、数字和打印符号,而元字符则是具有特殊含义的字符。
锚定符(^和$) 字符集 修饰符
如果在正则表达式中不加锚定符,就会整行匹配。
正则表达式匹配的流程:
正则表达式大致的匹配过程是:拿正则表达式依次和字符串或者文本中的字符串做比较,如果每一个字符都能匹配,则匹配成功,只要有一个匹配不成功的字符则匹配不成功。
Python中支持正则表达式元字符与其他语言有些不同,不过大部分都是相同的,下面是Python中支持正则表达式的元字符表:
模式字符串使用特殊的语法来表示一个正则表达式。
注意:
正则表达式可以包含一些可选标志修饰符来控制匹配模式。修饰符被指定为一个可选的标志,用在正则表达式处理函数中的flag参数中。多个标志可以通过按位OR(|)它们来指定。如re.I | re.M 被设置成 I 和 M 标志,表示同时有效。这些修饰符一般都用在正则表达式处理函数中。