Python最常用的正则表达式
正则表达式常用符号
符号 |
含义 |
例子 |
匹配结果 |
* |
匹配前面的字符、子表达式或者括号里的字符0次或多次 |
a*b* |
aaaaaaaa,aaaaaabbbbb,bbbbbbbb |
+ |
匹配前面的字符,子表达式或者括号里的字符至少1次 |
a+b+ |
aaaaaab,aaabbbbb,abbbbbbb |
[ ] |
匹配任意一个字符(相当于任选一个) |
[A-Z]* |
APPLE,CAPITALS,QWERTY |
( ) |
表达式编组(在正则表达式的规范里编组会优先运行) |
(a*b)* |
aaaaab,abaaab,ababaaaaaab |
{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,$ymb01s,a4e f!ne |
以下的图片来自于AstralWind的博客,地址为
Python正则表达式指南
- AstralWind - 博客园 http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
点击打开链接
- 上一篇: Win7 64位下让VC++6.0编写的Win32程序单进程运行内存突破2G
- 下一篇:没有了