首页 > 编程语言 > 详细

python学习(十二)python正则表达式

时间:2020-06-30 20:25:29      阅读:62      评论:0      收藏:0      [点我收藏+]

正则表达式

正则表达式常用字符

技术分享图片

 

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)  # 搜索匹配字符,匹配返回信息,不匹配返回None
print(m)
if m is not 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学习总结 

python学习(十二)python正则表达式

原文:https://www.cnblogs.com/jiliangceshi/p/13215079.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!