正则表达式
正则表达式常用字符
re模块
re.match(pattern, string, flags=0)
‘‘‘
re语法
re.match(pattern, string, flags=0)
pattern 匹配的正则表达式
string 要匹配的字符串
flags 标志位,用于控制正则表达式的匹配方式
‘‘‘
#
匹配成功re.match()方法返回一个匹配的对象,否则返回None
import
re
print(re.match(‘www‘, ‘www.baidu.com‘).span()) # 在起始位置匹配print(re.match(‘com‘, ‘www.baidu.com‘)) # 不在起始位置匹配
search(pattern, string, flags=0)
#
使用group(num)或者groups()匹配对象函数来获取匹配表达式
‘‘‘
1、group(num=0) :匹配的整个表达式的字符串,group()可以一次输入多个组号,在这种情况下他将返回一个包含那些组所对应的元祖
2、groups : 返回一个包含所有小组字符串的元祖,从1到所含小组号
‘‘‘
#
serach用法
#
serach(pattern, string, flags=0)
a = ‘foo‘
b = ‘seafood‘
c = ‘pccs‘
m = re.search(a,b) # 搜索匹配字符,匹配返回信息,不匹配返回Noneprint(m)
if m isnot None:
print(m.group())
# 返回结果
# <_sre.SRE_Match object; span=(3, 6), match=‘foo‘>
# foo
# match()和search区别
# re.match只匹配字符串你开始,如果字符串开始不符合正则匹配,则匹配失败,函数返回None。而re.search匹配整个字符串,直接找到一个匹配
re.findall(pattern, string, flags=0)
‘‘‘
findall用法
re.findall(pattern, string, flags=0)
‘‘‘
e = ‘sea foo‘
f = ‘sea food‘
m = re.findall(e,f) # 进行匹配,发现匹配的返回一个列表,如果没有匹配到,则返回空列表print(m)
代码结果:
[‘sea foo‘]
finditer(pattern, string, flags=0)
‘‘‘
dinditer用法
finditer(pattern, string, flags=0)
‘‘‘
g = ‘12ad34qw78‘
o = re.finditer(r‘d‘,g) # 返回内容存在一个迭代器中for i in o:
print(i.group())
sub(pattern, repl, string, count=0, flags=0)
subn(pattern, repl, string, count=0, flags=0)
a = ‘David is a test‘ b = ‘exploit‘ m = re.sub(‘test‘,b,a) # 搜索和替换,返回替换内容 m1 = re.subn(‘test‘,b,a) # 搜索和替换,返回替换内容+替换总数字print(m) print(m1)
split(pattern, string, maxsplit=0, flags=0)
#
split用法
#
split(pattern, string, maxsplit=0, flags=0)
a = ‘test1:test2:test3‘
m = re.split(‘:‘,a) # 已:进行分割,并返回分割数据已列表展示print(m)
结合https://www.cnblogs.com/qican/p/11122755.html学习总结
原文:https://www.cnblogs.com/jiliangceshi/p/13215079.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!