python网络爬虫3——正则表达式

正则表达式:用来简洁表达一组字符串的表达式

一、正则表达式的语法——操作符

 

二、Re库

1.Re库简介

Re库是python的标准库,主要用于 字符串匹配

Re库采用 raw string类型(原生字符串类型)表达正则表达式:r'text'

原生字符串与字符串的区别:原生字符串不包含 转义符

 

2.Re库的主要函数

(1)    re.search( pattern, string, flags = 0)

  • pattern:正则表达式的字符串或原生字符串表示
  • string:待匹配的字符串
  • flags:正则表达式使用时的标记,有3种常用标记,如下:

(2)     re.match( pattern, string, flags = 0)

(3)     re.findall( pattern, string, flags = 0)

(4)     re.split( pattern, string, maxsplit = 0,flags = 0)

  • maxsplit:最大分割数,剩余部分作为最后一个部分输出

(5)     re.finditer( pattern, string, flags = 0)

(6)     re.sub( pattern, repl,string, count =0, flags = 0)

  • repl:替换匹配字符串的字符串
  • count:匹配的最大替换次数

 

3.Re库函数的两种等价用法

(1)函数式用法:一次性操作

import re
match = re.search(r'[1-9]\d{5}', 'HZ 310006 310004' )
print(match.group(0))

(2)面向对象用法:编译后的多次操作

import re
regex = re.compile(r'[1-9]\d{5}')
match = regex.search( 'HZ 310006 310004' )
print(match.group(0))

注:regex = re.compile(pattern, flags = 0)     将正则表达式的字符串形式编译成正则表达式对象

两种方法的对应关系如下:

 

4.match对象

re.search()  、regex.search() 等函数返回了match对象,match对象是一次匹配的结果,包含匹配的很多信息

(1)match对象的属性

(2)match对象的方法

 

5.Re库的贪婪匹配和最小匹配

(1)Re库默认进行贪婪匹配,输出匹配最长的子串。

(2)最短匹配,输出匹配最短的子串,在正则表达式中加 ?即可采用最小匹配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值