Python教程:[13]正则表达式re模块方法
这篇经验将要介绍re模块包含的所有方法,或者叫做函数。主要就是match、search、findall等7个,废话不多说,我们还是要在例子中理解这些方法。
前期准备:为了演示这几个方法,先引入re模块,然后创建match对象,用到下面的代码:
![Python教程:[13]正则表达式re模块方法](https://exp-picture.cdn.bcebos.com/03f26bd7997bbbf449cfd96e5549610f8a56d62f.jpg)
match(string[, pos[, endpos]]) | re.match(pattern, string[, flags]): 这个方法有三个参数,后两个参数是可选的。string指的是要匹配的字符串,pos是匹配开始位置,endpos是结束位置。实例如下:如果省去参数3,或者改成其他数字,都无法匹配
![Python教程:[13]正则表达式re模块方法](https://exp-picture.cdn.bcebos.com/d47cb624d8e9ccd219f1faed0e40102a05e2c92f.jpg)
search(string[, pos[, endpos]]) | re.search(pattern, string[, flags]):同样有三个参数,后两个参数是可选的,如果不填写,默认就是0和len(string)。该方法可以在string中从pos开始查找到endpos结束,如果在这个范围内找到了一个匹配的,就匹配成功,只能找到第一个匹配的字符串。例子如下:下面的第一种写法得到了匹配,而第二种没有匹配。
![Python教程:[13]正则表达式re模块方法](https://exp-picture.cdn.bcebos.com/35fa07efa25f0c1473ec79360d89a146b6b1382c.jpg)
split(string[, maxsplit]) | re.split(pattern, string[, maxsplit]): 将字符串进行分割,maxsplit参数指的是分割的最大次数,如果不写,就默认进行所有的分割,例子如下:比较两种写法,第一种只进行两次分割。
![Python教程:[13]正则表达式re模块方法](https://exp-picture.cdn.bcebos.com/35f2224133bad341beea4a83427622bc7cc52c2c.jpg)
findall(string[, pos[, endpos]]) | re.findall(pattern, string[, flags]):找到所有的匹配字符串,以列表形式返回。pos和endpos是起始位置。
![Python教程:[13]正则表达式re模块方法](https://exp-picture.cdn.bcebos.com/b955ead0b503c8d28c69ecfa498333bf3aef212c.jpg)
finditer(string[, pos[, endpos]]) | re.finditer(pattern, string[, flags]):返回一个顺序,用于访问每一个匹配结果的迭代器。
![Python教程:[13]正则表达式re模块方法](https://exp-picture.cdn.bcebos.com/51f9aa3ea8db574a2ea53828a7f7dfb2dd19172c.jpg)
sub(repl, string[, count]) | re.sub(pattern, repl, string[, count]):对匹配的字符串进行操作。有两种用法见下图,第一种方法调换了i和say
![Python教程:[13]正则表达式re模块方法](https://exp-picture.cdn.bcebos.com/a1780d1fceecd3d988e25970679959430501082c.jpg)
![Python教程:[13]正则表达式re模块方法](https://exp-picture.cdn.bcebos.com/059057299a8839130572475a26bcbe2f46707c2c.jpg)