正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。
Python 中的 re 模块,提供 Perl 风格的正则表达式模式,使 Python 语言拥有全部的正则表达式功能,也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。
本文主要介绍Python中常用的正则表达式处理函数。
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
函数语法:
re.match(pattern, string, flags=0)函数参数:
pattern — 匹配的正则表达式
string — 要匹配的字符串
flags — 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
可选标志:
re.I使匹配对大小写不敏感re.L做本地化识别(locale-aware)匹配re.M多行匹配,影响 ^ 和 $re.S使 . 匹配包括换行在内的所有字符re.U根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.re.X该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。当匹配成功时,re.match 方法返回一个匹配的对象,否则返回None。我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。
group(num=0)匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。groups()返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。实例:
import re line = "Cats are smarter than dogs" matchObj = re.match(r'(.*) are (.*?) .*', line, re.M|re.I) if matchObj : print("matchObj.group() : ", matchObj.group()) print("matchObj.group() : ", matchObj.group(1)) print("matchObj.group() : ", matchObj.group(2)) else: print("No match !!")更多有趣、有料,请关注公众号