re模块

作者:管理员 发布时间:2021-01-13 09:42

Python中使用正则表达式,需要借助re模块,re模块主要提供以下几个函数

re.compile 函数

用于将输入的正则表达式,转为Pattern对象,供 match() 和 search() 这两个函数使用。

re.compile(pattern[, flags])

参数:
pattern : 一个字符串形式的正则表达式
flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:
re.I 忽略大小写
re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
re.M 多行模式
re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
re.X 为了增加可读性,忽略空格和 # 后面的注释


re.match函数

只从字符串的最开始与pattern进行匹配,匹配成功返回匹配对象(只有一个结果),否则返回None。

使用方法:

import re

#直接使用re.macth匹配
print(re.match('www', 'www.aisuanfashi.com'))  
print(re.match('com', 'www.aisuanfashi.com')) 

#使用Pattern对象匹配
pat = re.compile('www')
print(pat.match('www.aisuanfashi.com'))  


匹配成功,返回值是一个对象:<re.Match object; span=(0, 3), match='www'>

我们可以使用group来接受数据。

import re


pat = re.compile('www')
match = (pat.match('www.aisuanfashi.com'))  

print(match.group(0))

#返回值
#www


re.search函数

与match()工作的方式一样,但是search()不是从最开始匹配的,而是从任意位置查找第一次匹配的内容。如果所有的字串都没有匹配成功,返回None,否则返回匹配对象。

import re

#直接使用re.macth匹配
print(re.search('com', 'www.aisuanfashi.com')) 

#使用Pattern对象匹配
pat = re.compile('com')
match = (pat.search('www.aisuanfashi.com'))  
print(match)
print(match.group(0))



re.findall函数

找字符串中所有出现的正则表达式模式,并返回一个匹配列表 

import re

#直接使用re.macth匹配
print(re.findall('a', 'www.aisuanfashi.com')) 

#使用Pattern对象匹配
pat = re.compile('a')
match = (pat.findall('www.aisuanfashi.com'))  
print(match)
#返回值

#['a', 'a', 'a']
#['a', 'a', 'a']


re.finditer函数

和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。 

import re

#直接使用re.macth匹配
print(re.finditer('a', 'www.aisuanfashi.com')) 

#使用Pattern对象匹配
pat = re.compile('a')
matchs = (pat.finditer('www.aisuanfashi.com'))
print(matchs)
for match in matchs: 
    print (match.group())



re.split函数

按照能够匹配的子串将字符串分割后返回列表 

import re

#直接使用re.macth匹配
print(re.split('a', 'www.aisuanfashi.com')) 

#使用Pattern对象匹配
pat = re.compile('a')
matchs = (pat.split('www.aisuanfashi.com'))
print(matchs)

#返回值
#['www.', 'isu', 'nf', 'shi.com']
#['www.', 'isu', 'nf', 'shi.com']


标签:
Copyright © 2020 万物律动 旗下 AI算法狮 京ICP备20010037号-1
本站内容来源于网络开放内容的收集整理,并且仅供学习交流使用;
如有侵权,请联系删除相关内容;