python的正则学习
就是想系统的学习一个正则
- a[bcd]*d 用来匹配abcbb的匹配过程 是尽量匹配字符串,先匹配 bcd 然后 在匹配bc 和cd 然后在匹配b,c,d.如果获得结果是abcb,然后最后是一个b和正则不符合。后面就开始报错了。认为正则不可以对的。
正则匹配 | 意思 |
---|---|
\D | 不是数字 |
\d | 是数字 |
\S | 匹配不是空字符串 |
\s | 匹配空字符串 |
\W | 匹配不是字母 |
\w | 字母 |
? | 匹配一次或者零次 |
* | 匹配零次或者无数次 |
+ | 匹配一次或者无数次 |
{m,n} | 至少m次重复,最多n次重复 |
. | 除了\n之外的任意参数 |
方法/属性 | 作用 |
---|---|
match() | 决定RE是否字符串刚开始的位置匹配 |
search() | 扫描字符串,找到这个RE匹配的 |
findall() | 找到RE匹配的所有子串,并把它们作为一个列表返回 |
finditer() | 找到RE匹配的所有子串,并把它们作为一个迭代器返回 |
方法/属性 | 作用 |
---|---|
group() | 返回被re匹配的字符串 |
start() | 返回匹配开始的位置 |
end() | 返回匹配结束的位置 |
span() | 返回一个元组包含匹配(开始,结束)的位置 |
元字符 | 意义 |
---|---|
or的操作字符 | |
^ | 匹配字符串首部 |
$ | 匹配字符串尾部 |
\A | 和^一样,但是是不在多行的情况下 |
\Z | 只匹配字符串尾部 |
\b | 单词边界 |