爬虫的pattern对象的方法

pattern对象的方法
(1)match方法:默认从头开始匹配,只匹配一次,返回一个match对象
Match对象 = pattern.match(
string,#要匹配的目标字符串
start,#要匹配目标字符串的起始位置(可选)
end#结束位置(可选)
)
(2)search 方法:全文匹配,只匹配一次,返回一个match对象
Match = pattern.search(
string,#要匹配的目标字符串
start,#要匹配目标字符串的起始位置(可选)
end#结束位置(可选)
)
(3)findall方法:全文匹配,匹配多次,返回一个list
list= pattern.findall(
string,#要匹配的目标字符串
start,#要匹配目标字符串的起始位置(可选)
end#结束位置(可选)
)
(4)finditer方法:全文匹配,匹配多次,返回一个迭代器,迭代器里面存储的是match对象
迭代器= pattern.findall(
string,#要匹配的目标字符串
start,#要匹配目标字符串的起始位置(可选)
end#结束位置(可选)
)
什么是迭代器?
当有一种数据或者内容比较多的时候,可以将其分装迭代器。—通过for循环来使用这个迭代器就可以获取其中的每一个数据。
有__next__和__iter__。
可迭代对象?有__iter__方法对象。
str
bytes
list
dict
tuple
文件流
需求:打印输入文件内容,同时输出行号。
(5)split:安正则方法表示内容进行分割字符串,返回分割后子串list
Pattern.split(
String,
Maxsplit#指定最大分隔次数,默认全部分隔,可选
)
http://www.baidu.com:8080/index.html

(6)sub:按照正则表示的内容替换字符串(重要的)
Pattern.sub(
repl, #替换成什么
String,#替换什么
Count#替换次数,可选,默认全部替换
)—>替换后的字符串

(1)repl字符串
import re

p = re.compile(r’(\w+) (\w+)’)
s = ‘hello 123,hello 456’#提前用p去匹配目标串,找到能匹配出来的内容,就是替换找出来的这个内容的。
print(p.sub(r’hello world’,s))#使用‘hello world’替换’hello 123’和’hello 456’
print(p.sub(r’\2 \1’,s))#引用分组
(2)当repl是一个函数的时候,这个函数是有要求的:
a、必须带一个参数,这个参数其实就是提前用p去匹配目标串,得到match对象。
b、这个函数必须有返回值,返回值是一个字符串,这个字符串将来就作为替换的内容。
爬虫的方法匹配格式(分组,贪婪非贪婪模式,.*? 大法)

3、分组
分组在正则表达式中就是用()来表示的。一个括号就是一个分组。分组的作用主要有以下两个:
(1)筛选特定内容
(2)引用分组

4、贪婪非贪婪模式
(1)贪婪是用来控制,python默认是贪婪模式,所以默认所有的数量控制符都是取所能匹配的最大值。
(2)非贪婪是用?来控制的,?放在数量控制符后面,表示数量控制符匹配最小的次数。
5、.
? 大法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值