Python网络爬虫中常用到的正则匹配

正则中的元字符说明:
==================================================
[] 表示单个字符的原子表
    如: [aoeiu] 表示任意一个元音字母
        [0-9] 表示任意一位数字等价于 \d
        [0-9][0-9] 00~99
         [a-z][0-9]表示小写字和一位数字构成的两位字符
          [a-zA-Z0-9_] 表示任意一位大小字母或数字 \w

[^] 表示除中括号内原子之外的任何字符 是[]的取反
    如:[^0-9] 表示任意一位非数字字符 等价于 \D
        [^a-z] 表示任意一位非小写字母
        
        [0-9]{4}
{m}    表示对前面原子的数量控制,表示是m次
    如:[0-9]{4} 表示4位数字0000-9999 等价于\d{4}
        [1][3-8][0-9]{9} 手机号码
        [\-]?[0-9]+

{m,} 表示对前面原子的数量控制,表示是至少m次          
    如: [0-9]{2,} 表示两位及以上的数字 等价于\d{2,}

{m,n}表示对前面原子的数量控制,表示是m到n次
    如: [a-z]{6,8} 表示6到8位的小写字母
            
* 表示对前面原子的数量控制,表示是任意次,等价于{0,}
+ 表示对前面原子的数量控制,表示至少1次,等价于{1,}
? 表示对前面原子的数量控制,表示0次或1次(可有可无) 等价于{0,1}
    正整数:[1-9][0-9]*
    整数:  [\-]?[0-9]+
                    email: 
    
() 表示一个整体原子,【还有一个子存储单元的作用】。
    也可以使用?:来拒绝子存储。 (?:.*?)
    例如:(red) 字串red
            (red|blue) 字串red或blue
            (abc){2} 表示两个abc
|  表示或的意思
        (red|blue) 字串red或blue
        
^  用在正则单元块的开头处,表示必须以指定的开头
        
$  用在正则单元块的结尾处,表示必须以指定的结尾
        
.  表示任意一个除换行符之外的字符
    常用组合: .*? 或 .+?
    表示最小匹配所有字符(拒绝贪婪匹配)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值