python学习系列测试系列

Python正则表达式

2018-06-18  本文已影响1人  测试_机器猫

在python中使用正则表达式有几个必要的步骤

1、使用import re导入正则模块

2、使用re.compile()函数创建一个Regex的对象

3、向Regex对象的方法(search、match)传入查找的原始字符串,返回一个Match对象

4、调用Match对象的group()方法,获得匹配的字符串

下面看几个实际例子,其中前三个例子展示了search  findall mathch的区别

(1)Search()返回匹配到的第一个值

备注1、r'代表原字符串,转义字符不生效

2、compile的第二个参数,re.I代表不区分大小写

第二个参数flags是匹配模式,可以使用按位或’|’表示同时生效,也可以在正则表达式字符串中指定。

Pattern对象是不能直接实例化的,只能通过compile方法得到。匹配模式有:

1).re.I(re.IGNORECASE): 忽略大小写

2).re.M(MULTILINE): 多行模式,改变’^’和’$’的行为

3).re.S(DOTALL): 点任意匹配模式,改变’.’的行为

4).re.L(LOCALE): 使预定字符类 \w \W\b\B \s \S 取决于当前区域设定

5).re.U(UNICODE): 使预定字符类 \w \W\b\B \s \S \d \D 取决于unicode定义的字符属性

6).re.X(VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释

(2)findall()方法,返回匹配到的所有结果,结果格式为一个字符串列表

(3)match()方法

尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none

*注:match和search一旦匹配成功,就是一个match object对象,而match object对象有以下方法:

group() 返回被 RE 匹配的字符串

start() 返回匹配开始的位置

end() 返回匹配结束的位置

span() 返回一个元组包含匹配 (开始,结束) 的位置

group() 返回re整体匹配的字符串,可以一次输入多个组号,对应组号匹配的字符串。

a. group()返回re整体匹配的字符串,

b. group (n,m) 返回组号为n,m所匹配的字符串,如果组号不存在,则返回indexError异常

c.groups()groups() 方法返回一个包含正则表达式中所有小组字符串的元组,从 1 到所含的小组号,通常groups()不需要参数,返回一个元组,元组中的元就是正则表达式中定义的组

上一篇下一篇

猜你喜欢

热点阅读