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)#筛选, 条件.删选(被筛选内容) 从头开始,第一个必须是指定的内容,否则就结束返回Noneprint(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())#单输出内容
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)#有就显示位置,没有就显示Noneprint(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