Python re正则表达式速查
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python re正则表达式速查相关的知识,希望对你有一定的参考价值。
常见正则表达式符号和特殊字符
表示法 |
描述 |
正则表达式示例 |
符号 |
||
re1|re2 |
匹配正则表达式re1或re2 |
foo|bar |
. |
匹配任意除换行符"\\n"外的字符 |
a.c |
^ |
匹配字符串开头,在多行模式中匹配每一行的开头 |
^Dear |
$ |
匹配字符串末尾,在多行模式中匹配每一行的末尾 |
/bin/*sh$ |
* |
匹配前一个字符0或多次 |
[A-Za-z0-9]* |
+ |
匹配前一个字符1次或多次 |
[a-z]+\\.com |
? |
匹配一个字符0次或1次 |
goo? |
{} |
{m}匹配前一个字符m次,{m,n}匹配前一个字符m至n次 |
[0-9]{3} ,[0-9]{5,9} |
[...] |
匹配字符集中的任意单个字符 |
[aeiou] |
[^...] |
不匹配字符集中的任意一个字符 |
[^aeiou],[^A-Za-z0-9] |
[x-y] |
X~y范围中的任何一个字符 |
[b-x] |
() |
匹配封闭的正则,存为子组,从表达式左边开始每遇到一个分组的左括号“(”,编号+1 |
([0-9]{3})?,f(oo|u)bar |
特殊字符 |
||
\\d |
匹配任何十进制数(\\D 相反)<=> [0-9] |
data\\d+.txt |
\\w |
任何字母数字(\\W 相反) <=> [A-Za-z0-9] |
[A-Za-z]\\w+ |
\\s |
任何空格字符(\\S 相反) <=> [\\n\\t\\r\\v\\f] |
of\\sthe |
\\b |
匹配任何单词边界(\\B相反) |
\\bThe\\b |
\\A(\\Z) |
匹配字符串起始(结束) <=> ^($) |
\\ADear |
扩展表示法 |
||
(?iLmsux) |
编译选项指定,可以写在findall或compile的参数中,也可以写在正则式里 |
(?x), (?im) |
(?#...) |
表示注释,所有内容被忽略 |
(?#comment) |
(?:...) |
表示一个匹配不用保存的分组 |
(?:\\w+\\.) |
(?=...) |
如果 ... 出现在要匹配字符串的后面 例如:Isaac (?=Asimov) 只匹配 ‘Isaac ‘ 后面跟 ‘Asimov‘的字符串 |
(?=.com) |
(?!...) |
如果 ... 不出现在要匹配字符串后面 |
(?!.net) |
(?<=...) |
如果 ... 出现在之前的位置,则匹配 |
(?<=800-) |
(?<!...) |
如果 ... 不出现在之前的位置,则匹配 |
(?<!192\\.168\\.) |
(?(id/name)yes-pattern|no-pattern) |
如果 group 中的 id/name 存在匹配 yes-pattern,否则 no-pattern 例如:(<)?(\\[email protected]\\w+(?:\\.\\w+)+)(?(1)>)只会匹配 <[email protected]> 或者 [email protected] 不会匹配 <[email protected] |
(?(1)y|x) |
(?P<name>...) |
分组,除了原有的编号外再指定一个额外的别名 |
(?P<id>abc){2} |
(?P=name) |
引用别名为<name>的分组匹配到字符串 |
(?P<id>\\d)abc(?P=id) |
以上是关于Python re正则表达式速查的主要内容,如果未能解决你的问题,请参考以下文章