python正则表达式

291 阅读1分钟

python正则表达式

符号含义例子匹配结果
*匹配前面的字符,子表达式或括号里的字符0次或多次a*b*aaaaaaa,bbbbbb,aaabbb
+匹配前面的字符,子表达式或括号里的字符至少一次a+b+aaaabb,aaabbb,abbbb
[]匹配任意一个字符(相当于“任选一个”)[A-Z]*APPLE,QWERTY
()表达式编组(在正则表达式的规则里编组会优先运行(a*b)*aaabaab,abaaab,ababaaab
{m,n}匹配前面的字符,子表达式或括号里的字符m到n次(包含m或n)a{2,3}b{2,3}aabb,aaabbb,aabbb
[^]匹配任意一个不在中括号里的字符[^A-Z]*apple,qwerty
|匹配任意一个由竖线分割的字符,子表达式b(aie)dbad,bid,bed
.匹配任意单个字符(包括符号,数字和空格等)b.dbad,bbd,bcd,b d
指字符串开始位置的字符或子表达式^aapple,asdf,a
\转义字符(把有特殊含义的字符转换成字面形式)\.\|\\.|\
$经常用在正则表达式的末尾,表示“从字符串的末端匹配”。如果不用它,每个正则表达式实际都带着“.*”模式,只会从字符串开头开始匹配。这个符号可以看成^符号的反义词[A-Z]*[a-z]*$ABCabc,zzzyx,Bob
?!“不包含”。这个奇怪的组合通常放在字符或正则表达式前面,表示字符不能出现在目标字符串里。这个符号比较难用,字符通常会在字符串的不同部位出现。如果要在整个字符串中全部排除某个字符,就加上^和$符号^((?![A-Z]).)*$no-caps-here,$ymb0ls