python 正则表达式

一、正则表达式

正则表达式是用来匹配与查找字符串的,相当于一个格式,从网上爬取数据自然或多或少会用到正则表达式,python的正则表达式要先引入re模块,正则表达式以r为引导

1、正则表达式常用操作符

'/d' 匹配0~9之间的数值

'+' 重复前面一个匹配字符一次或多次

'*' 重复前面一个匹配字符零次或者多次

'?' 重复前面一个匹配字符零次或者一次

'.' 代表任何一个字符,但是没有特别声明时不代表字符“\n”

'[ ]' 字符集,对单个字符给出取值范围 比如[123]表示1、2、3 [a-c] 表示a-c单个字符

2、re库主要功能函数

re.search() 在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象

re.match() 从一个字符串的开始位置起匹配正则表达式,返回match对象

re.findall() 搜索字符串,以列表类型返回全部能匹配的子串

re.sub() 在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串

例如

3、search方法,进行比对查找

  创建模式对象

import re

res=re.compile("AA")  #"AA"是正则表达式,

m=res.search("CBA")

k=res.search("CBAA")

print(m) 

print(k)

#输出结果为none 表示找不到“AA”这样子的字符串

#输出结果  <re.Match object; span=(2, 4), match='AA'>

表示匹配到了 在[2,4)这个左闭右开的区间里面

没有模式对象

m=re.search("abc","Tabc")  #前面的字符串是模板,后面的字符串是被校验的对象

print(m)

输出结果: <re.Match object; span=(1, 4), match='abc'>

4、findall方法

如:

print(re.findall("a","JHIaFRaefa"))

输出结果为:['a', 'a', 'a'] 返回所有符合条件(a)的字符

print(re.findall("[a-z]","awrof358./"))

输出结果为:['a', 'w', 'r', 'o', 'f']

print(re.findall("[a-z]+","awrof358./poiop"))

输出结果为:['awrof', 'poiop']

5、sub方法

如:

print(re.sub("a","A","abcabcabc")) #找到a用A替换,在第三个字符串中查找

输出结果为:AbcAbcAbc

6、被比较的字符串前面加上r,不用担心转义字符的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值