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 匹配任意一个由竖线分割的字符、子表达式(注意是竖线,不是大字字母 I) b(aIiIe)d bad, bid, bed
. 匹配任意单个字符(包括符号、数字和空格等) b.d bad, bzd, b$d, b d
^ 指字符串开始位置的字符或子表达式 ^a apple, asdf, a
\ 转义字符(把有特殊含义的字符转换成字面形式) \ .\I\ .I\
$ 经常用在正则表达式的末尾,表示“从字符串的末端匹配”。如果不用它,每个正则表达式实际都带着“.*”模式,只会从字符串开头进行匹配。这个符号可以看成是^ 符号的反义词 [A-Z][a-z]$ ABCabc, zzzyx, Bob
?! “不包含”。这个奇怪的组合通常放在字符或正则表达式前面,表示字符不能出现在目标字符串里。这个符号比较难用,毕竟字符通常会在字符串的不同部位出现。如果要在整个字符串中彻底排除某个字符,就加上 ^ 和 $符号 ^((?![A-Z]).)*$ no-caps-here, $ymb0lsa4e f!ne

在这里插入图片描述


参考

  1. 书籍——Python网络爬虫权威指南(第2版)

猜你喜欢

转载自blog.csdn.net/wwt18811707971/article/details/126904364