Pyhont 正则化模块常用操作

本文详细介绍正则表达式的常用元字符及函数,并通过实例演示如何利用正则表达式进行网页图片链接抓取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 导入正则表达式模块
import re

# 常用元字符
# [] 字符限制级
r = r"x[abc]x"  #中括号内出现任意字符即可
r = r"[0-9]"  # ===>r"\d"   \D
r = r"[a-zA-Z0-9_]"  # ===> r"\w" \W表示取反
r = r"[a-zA-z]"  # ===> r"\s"

# ^ 取反
r = r"[^abc]" # 除了abc
# ^ 表示从行首匹配
# \^ 对元字符转义

# $ 行尾

# . 任意字符

# {m,n}前面字符重复m次,最多n次
# * 对前面的字符匹配零次或多次,等价于 {0,}
# + 对前面的字符至少匹配一次, 等价于 {1,}
# ? 前面的字符可有可无, 等价于{0,1}

# () 分组
r = r"\w{3}@.*(\.com|\.cn|\.edu)"

#===============常用函数=================
# re.findall(pattern, string, flag)   返回正则匹配的所有结果
# re.finditer(pattern, string , flag) 返回一个迭代器
# re.match(pattern, string, flag)   只匹配行首,成功匹配则返回match对象,否则返回none
# re.search(pattern, string, flag)  都匹配,返回match对象
# re.split(pattern, string)   正则模式分割
# re.sub(pattern, replace, string)  正则模式替换
# re.subn(pattern, replace, string, numbers) 正则模式替换n次


要熟练使用(.*?)提取想要的字符串

import re
import urllib


def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html

def getImg(html):
    reg = r'src="(.*?\.jpg)"'
    regC = re.compile(reg)
    imglist = re.findall(regC,html)
    print imglist
    x = 0
    for imgurl in imglist:
        urlall = 'http:'+imgurl
        urllib.urlretrieve(urlall,'%s.jpg' % x)
        x+=1


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值