正则表达式是一种特殊的字符序列,可以帮助您轻松检查字符串是否与特定模式匹配。Python从1.5版本开始添加了re模块,它提供了Perl风格的正则表达式模式。re模块为Python语言带来了完整的正则表达式功能。compile函数从模式字符串和可选的标志参数生成正则表达式对象。该对象有一组用于正则表达式匹配和替换的方法。re模块还提供了与这些方法完全相同的功能,将模式字符串作为第一个参数。本章主要介绍Python中常用的正则表达式处理函数。re.match函数re.match尝试从字符串的开头匹配模式。如果一开始匹配不成功,则match()返回none。函数语法:re.match(pattern,string,flags=0)函数参数说明:参数说明pattern匹配的正则表达式字符串要匹配的字符串。flags标志用于控制正则表达式的匹配方式,如:是否区分大小写、多行匹配等。另见:RegexModifiers-OptionalFlagsre.match方法返回一个匹配的对象,否则无。我们可以使用group(num)或groups()匹配对象函数来获取匹配表达式。匹配对象方法描述group(num=0)匹配的整个表达式的字符串,group()可以一次被喂入多个组号,在这种情况下它会返回一个元组,其中包含这些组对应的值。groups()返回一个包含所有组字符串的元组,从1到包含的组号。例子#!/usr/bin/python#-*-coding:UTF-8-*-importreprint(re.match('www','www.runoob.com').span())#在起始位置Matchprint(re.match('com','www.runoob.com'))#在起始位置不匹配上面例子的输出是:(0,3)Noneexample#!/usr/bin/pythonimportreline="猫比狗聪明"matchObj=re.match(r'(.*)are(.*?).*',line,re.M|re.I)ifmatchObj:print"matchObj.group():",matchObj.group()print"matchObj.group(1):",matchObj.group(1)print"matchObj.group(2):",matchObj.group(2)else:print"Nomatch!!”上面例子的执行结果如下:matchObj.group():CatsaresmarterthandogsmatchObj.group(1):CatsmatchObj.group(2):smarter
