Python3 爬虫09_正则表达式(re.math()re.search()re.sub()全局匹配函数)

Posted 奔跑的金鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3 爬虫09_正则表达式(re.math()re.search()re.sub()全局匹配函数)相关的知识,希望对你有一定的参考价值。

re.math()函数

从源字符串的起始位置匹配一个模式

语法:re.match(pattern, string, flag)

第一个参数代表对应的正则表达式,第二个参数代表对应的源字符,第三个参数是可选参数,代表对应的标志位,可以放模式修正符等信息

#-*- codingn:utf-8 -*-
import re
string = "ipythonajsoasaoso"
pattern = ".python."
result = re.match(pattern, string)
result1 = re.match(pattern, string).span()
print("结果1:%s" % result)  
print(result1)  # (0,8)

image

re.search()函数

扫描整个字符串进行匹配
语法:re.search(pattern, string, flag)

#-*- codingn:utf-8 -*-
import re
string = "helloipythonajsoasaoso"
pattern = ".python."
result1 = re.match(pattern, string)
result2 = re.search(pattern, string)
print("结果1:%s" % result1)
print("结果2:%s" % result2)

image

全局匹配函数

将符合模式的全部内容都匹配出来

(1)使用re.compile()对正则表达式进行预编译
(2)编译后使用findall()根据正则表达式从原字符串中将匹配的解决全部找出

#-*- codingn:utf-8 -*-
import re
string = "helloipythonajsoasaospythono"
pattern = re.compile(".python.") #预编译
result = pattern.findall(string) #找出符合模式的所有结果
print("结果1:%s" % result)

image

re.sub()函数

根据正则表达式来实现替换某些字符串
re.sub(pattern, rep, string, max)
第一个参数对应的正则表达式,第二个参数为要替换成的字符串,第三个参数为源字符串,第四个参数为可选项,代表最多替换的次数,如果忽略不写,则会将符合模式的结果全部替换。

#-*- codingn:utf-8 -*-
import re
string = "bnsdBBjsdkBBlsBBdkBBs"
pattern = "BB"
result1 = re.sub(pattern,"**",string)  #全部替换
result2 = re.sub(pattern,"**",string,1)  #最多替换1次
result3 = re.sub(pattern,"**",string,2)  #最多替换2次

print("结果1:%s" % result1)
print("结果2:%s" % result2)
print("结果3:%s" % result3)
image

以上是关于Python3 爬虫09_正则表达式(re.math()re.search()re.sub()全局匹配函数)的主要内容,如果未能解决你的问题,请参考以下文章

python3爬虫之入门和正则表达式

python3网络爬虫学习——正则表达式

python3爬虫初探之正则表达式

反爬虫2-python3.6 正则表达式抓取猫眼电影TOP100

Python爬虫_案例:使用正则表达式的爬虫

Python爬虫_案例:使用正则表达式的爬虫