Python 中最常用的正则表达式符号
企业开发
2023-12-17 07:45:51
阅读次数: 0
符号 |
含义 |
例子 |
匹配结果 |
* |
匹配前面的字符、子表达式或括号里的字符 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 |
参考
- 书籍——Python网络爬虫权威指南(第2版)
转载自blog.csdn.net/wwt18811707971/article/details/126904364