Python中常用re模块

Python中常用re模块

常用语法:

^ 匹配字符串开头
$ 匹配字符串结尾
. 匹配任意字符,除了换行符
[…] 匹配指定的一组字符,[amk]匹配’a’或’m’或’k’
[^…] 匹配除了这组字符以外的字符
* 匹配0或多个
+ 匹配1或多个
? 匹配0或1个,非贪婪模式
{n} 精确匹配前面表达式n次,如a{2}不能匹配ba,只能匹配baab
{n,} 匹配n次前面的表达式,a{1,} == a+,a{0,} == a*
{n,m} 匹配 n 到 m 次由前面的正则表达式定义的片段,贪婪方式
a b
(re) 匹配括号内的表达式
\w 匹配字母数字及下划线
\W 匹配非字母数字及下划线
\s 匹配空白字符[\t\n\r\f]    \f换页 \r回车
\S 匹配非空白字符
\d 匹配任意数字,等价于 [0-9].
\D 匹配任意非数字

常用方法

从字符串中寻找指定的字符串

1、match
re.match(pattern, string[, flags])

从首字母开始开始匹配,string如果包含pattern子串,则匹配成功,返回Match对象,失败则返回None,若要完全匹配,pattern要以$结尾,只返回第一个。

2、search
re.search(pattern, string[, flags])

若string中包含pattern子串,则返回Match对象,否则返回None,注意,如果string中存在多个pattern子串,只返回第一个。

3、findall
re.findall(pattern, string[, flags])

返回string中所有与pattern相匹配的全部字串,返回形式为数组。

4、finditer
re.findall(pattern, string[, flags])

返回string中所有与pattern相匹配的全部字串,返回形式为数组。

如果匹配成功,match、search、返回Match对象,finditer返回Match对象的迭代器,获取结果要调用Match对象的group(index),groups()方法
1. group():返回母字符串中与模式pattern匹配的字符串
2. groups():所有的group组成一个元组,group(1)是与patttern中第一个group匹配成功的子串。
3. 返回的就是所有groups的数组,就是group组成的元组的数组。

猜你喜欢

转载自blog.csdn.net/qq_1290259791/article/details/80979384