re正则方法compile()

import re #导入正则模块

1.compile()与findall()一起使用,返回一个列表。

content = 'Hello, I am Jerry, from Chongqing, a montain city, nice to meet you……'
regex = re.compile('\w*o\w*')#清楚无用内容,只显示带o的词,定义条件
x = regex.findall(content)#筛选,         条件.删选(被筛选内容)返回列表
print(x)

2.compile()与match()一起使用

#例一
name = "张三张伟刘博耿牛逼,张伟"  #需要过滤的字符串
result=re.compile("张三") #这个就是你的正则#条件
result=result.match(name)#筛选,         条件.删选(被筛选内容)  从头开始,第一个必须是指定的内容,否则就结束返回None
print(result)
#运行后结果会返回 span(0,2), match="张三"  span是对应位置



#例二
content = '张伟张三张牛逼,Hello, I am Jerry, from Chongqing, a montain city, nice to meet you……'
regex = re.compile('\w*张三\w*')#存在该字符的内容
y = regex.match(content)
print(y)
print(y.group())#单输出内容

3.compile()与search()搭配使用,与match类似,但不从0开始,从匹配到的第一个开始,匹配到就结束


content = 'Hello,张伟, I am Jerry, from Chongqing, a montain city, nice to meet you……'
regex = re.compile('\w*o\w*')#双w表示该单词由就行,加双w显示该字符全部内容,不加只显示单字
z = regex.search(content)#有就显示位置,没有就显示None
print(z)
print(z.group())#单输出内容
#返回值:<re.Match object; span=(0, 5), match='Hello'>
#Hello

总结1.与findall一起使用,返回列表,只要符合条件的都要

2.与match一起使用,从头捕捉,只取一个,若第一个不是。则返回None

3.与searc一起使用,捕捉匹配到的第一个数据。

4.’\w*\w* 加双w显示该字符全部内容,不加只显示单字

search单用

mas="a0b1c2"
result = re.search("[a-z][0-9]" ,mas)
print(result.group())
# 表示a到z任何一个字母,只要后面有数字,就做为返回值,返回值有且只有一个,如果没有则返回None
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值