爬虫课程4

2022-05-03 359 0

正则表达式

因为beautifulsoup之类的库只能对HTML文档进行解析

但是现在很多都是内嵌在js代码里面了,这个时候就需要使用到正则表达式来进行定位的操作

import re

上面这个包是python内置的,不需要另外安装

百度--正则表达式手册

就可以查看到全部正则表达式内容

*可以匹配前面的子表达式零次或者多次,zo*可以匹配z,以及zoo,*等价于{0,}

+可以匹配前面的子表达式一次或者多次,zo+可以匹配zo,以及zoo,+等价于{1,}

?可以匹配前面的子表达式一次或者零次,zo?可以匹配z,以及zo

\s可以匹配任何空白字符,包括空格、制表符、换页符等

\d代表0-9任意数字

\w代表小写a-z,A-Z,_,0-9

\s代表空白字符

import re
text = 'HelloHelloHello'
r = re.compile('H.*?o',re.S|re.I)
print(r.search(text).group())

.*?就是惰性匹配方法,意思是当满足这个条件一次,就立刻停止

Hello出现了三次,但是当第一个hello通过惰性匹配满足了一次,就立刻停止再继续往后面去循环匹配

search(全局匹配)match(从头匹配)

.group(获取内容).findall(匹配全部)

re.S 匹配换行符 re.I不区分大小写

import re

test='hello world'
re_com=re.compile('h(.*?)o w(.*?)d',re.I|re.S)
result= re_com.search(test).group()
print(result)

.group() 结果 hello world

.groups() 结果 (‘ell’,‘orl’) -----------------输出所有结果

.gourp(1) 结果 ell ----------------输出第一个正则表达式结果

.group(2) 结果 orl ----------------输出第二个正则表达式结果

相关文章

Tkinter学习(2)
Tkinter学习(1)
selenium自动化模块学习(5)
selenium自动化模块学习(4)
selenium自动化模块学习(3)
selenium自动化模块学习(2)

发布评论