正则表达式

爬虫中的简单的正则表达式(1)

#常用的匹配方式 math()方法
import re
content='Hello 123 4567 World_This is a Regex Demo'
print(len(content))
result=re.match("^Hello\s\d\d\d\s\d{4}\s\w{10}",content)   #^代表匹配字符串的开头,、d表示匹配数字,、s表示匹配空格,、w表示匹配字母及下划线。
print(result)
print(result.group())     #group表示输出匹配到的内容
print(result.span())       #span表示输出匹配的范围
content1='Hello 1234567 World_This is a Regex Demo'
ab=re.match('^Hello\s(\d+)\sWorld',content1)
print(ab)
print(ab.group())
print(ab.group(1))
print(ab.span())

#通用匹配
import re
content2='Hello 123 4567 World_This is a Regex Demo'
cd=re.match("^Hello.*Demo$",content2)
print(cd)
print(cd.group())

#贪婪匹配与非贪婪匹配
import re
content3='Hello 1234567 World_This is a Regex Demo'
ef=re.match('^H.*(\d+).*Demo$',content3)       #贪婪匹配
g=re.match('^H.*?(\d+).*Demo$',content3)
print(ef)
print(ef.group(1))             #我们使用(\d+)的本意是想要1234567的全部数字,但是结果输出却只有7
                               #因为.*为贪婪匹配,它会尽可能拿走字符,而只给(\d+)留下刚好能匹配到的数字7
print(g)
print(g.group(1))              #我们使用了.*?就是非贪婪匹配,尽可能少拿字符,所以会将所有数字留给\d+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值