正则表达式

在爬虫的时候,正则表达式是一个非常好的助手,这篇博文主要记录下正则表达式中的基本符号。

符号含义示例说明
*匹配前面的字符0次或更多次ab匹配aa或bbb或bbbbbb,
+匹配前面的字符1次或更多次a+b+匹配abbb或aabbb
?匹配前面的字符0次或1次
{m}匹配前面的字符m次
{m,}匹配前面的字符m次或更多次
{m,n}匹配前面的字符m次到n次
\b匹配单词的开始或结束\ba\b匹配a
^匹配字符串开始^is匹配以is开始的字符串
$匹配字符串结束are$匹配以end结尾的字符串
.匹配除换行符外的任意单个字符
\w匹配字母或数字或汉字或下划线
\s匹配任意的空字符串
\d匹配数字
[]匹配中括号里的任意一个字符
[^]匹配不在中括号里的任意一个字符[^aeiou]匹配任意非元音字母字符
?!不包含表示后面的字符不能出现在目标字符串里
|分支b(a|b|c)e匹配bae或bbe或bce

下面是re模块的几个核心函数。
1.re.compile(pattern, flags=0)
返回正则表达式对象

2.re.match(pattern, string, flags=0)
如果成功匹配字符串的话,返回对象,否则,返回None

3.re.findall(pattern, string, flags=0)
查找字符串所有与正则表达式匹配的模式,返回字符串的列表

4.re.sub(pattern, repl, string, count=0, flags=0)
用指定的字符串去替换原子符串中与正则表达式相匹配的模式。

sentence = "我你dirty talk,你dirty talk,我"
m = re.sub("[dirty talk]+","*",sentence)
m

Out:

'我你*,你*,我'

5.re.split(pattern, string, maxsplit=0, flags=0)
用与正则表达式相匹配的模式去分割字符串,返回列表。

sentence = "Help# on   & function, split in module re"
m = re.split("[#&,(?!(\s))]+",sentence)
m

Out:

['Help', 'on', 'function', 'split', 'in', 'module', 're']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值