在学习python网络爬虫时用到的正则表达式

符号

 
含义

 
例子

 
匹配结果

 
 
*

 
匹配前面的字符、子表达式或括号里的字符 0 次或多次

 
a*b*

 
aaaaaaaa,aaabbbbb,bbbbbb

 
 
+

 
匹配前面的字符、子表达式或括号里的字符至少 1 次

 
a+b+

 
aaaaaaab,aaabbbbb,abbbbbb

 
 
[]

 
匹配任意一个字符(相当于“任选一个”)

 
[A-Z]*

 
APPLE,CAPITALS,QWERTY

 
 
()

 
表达式编组(在正则表达式的规则里编组会优先运行)

 
(a*b)*

 
aaabaab,abaaab,ababaaaaab

 
 
{m,n}

 
匹配前面的字符、子表达式或括号里的字符 m 到 n 次(包含 m 或 n)

 
a{2,3}b{2,3}

 
aabbb,aaabbb,aabb

 
 
[^]

 
匹配任意一个不在中括号里的字符

 
[^A-Z]*

 
apple,lowercase,qwerty

 
 
|

 
匹配任意一个由竖线分割的字符、子表达式(注意是竖线,不是大字字母I)

 
b(a|i|e)d

 
bad,bid,bed

 
 
.

 
匹配任意单个字符(包括符号、数字和空格等)

 
b.d

 
bad,bzd,b$d,b d

 
 
^

 
指字符串开始位置的字符或子表达式

 
^a

 
apple,asdf,a

 
 
\

 
转义字符(把有特殊含义的字符转换成字面形式)

 
\.\ | \\

 
. | \

 
 
$

 
经常用在正则表达式的末尾,表示“从字符串的末端匹配”。如果不用它,每个正则表达式实际都带着“.*”模式,只会从字符串开头进行匹配。这个符号可以看成是 ^ 符号的反义词

 
[A-Z]*[a-z]*$

 
ABCabc,zzzyx,Bob

 
 
?!

 
“不包含”。这个奇怪的组合通常放在字符或正则表达式前面,表示字符不能出现在目标字符串里。这个符号比较难用,字符通常会在字符串的不同部位出现。如果要在整个字符串中全部排除某个字符,就加上 ^ 和 $ 符号

 
^((?![A-Z]).)*$

 
no-caps-here,$ymb0ls a4e f!ne
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值