正则表达式常用符号
字符 | 含义 |
---|---|
.(点) | 匹配任意单个字符(不包含\n) |
\(反斜杠) | 转义字符 |
[…] | 字符集 |
\d | 匹配一个数字.[0-9] |
\D | 匹配一个非数字字符。[^0-9] |
\s | 匹配任何空白字符。(空格,制表符,换页符) |
\S | 匹配任何非空白字符。 |
\w | 匹配任何单词字符,包含下划线字符。[A-Za-z0-9_] |
\W | 匹配任何非单词字符 |
* | 匹配前一个字符0或无限次 |
+ | 匹配前一个字符1或无限次 |
? | 匹配前一个字符1或0次 |
{m} | 匹配前一个字符m次 |
{m,n} | 匹配前一个字符m到n次 |
^ | 匹配字符串开头 |
$ | 匹配字符串结尾 |
\A | 仅匹配字符串开头 |
\Z | 仅匹配字符串结尾 |
RE—正则表达式
1.search()函数:匹配第一个符合规律的内容 re.search(pattern,string,flags)
(1)pattern:正则表达式
(2)string:要匹配的字符
(3)flags:标志位(匹配方式)
```
str2 = "abc1def2sdf3"
res3 = re.search('\d+',str2)
print res3.group()
结果:
1
```
2.findall():匹配所有符合规律的内容,并以列表的形式返回。
```
#encoding:utf-8
import re
str1 = "kkIkkjhgfsdkkLovekkweqrtyuiopakklifekk"
res = re.findall('kk(.*?)kk',str1) #输出为一个列表
print res
结果:
['I', 'Love', 'life']
str2 = "abc4def2sdf3"
res2 = re.findall('\d+',str2)
print res2
结果:
['4', '2', '3']
```
sub():替换字符串中的匹配项,re.sub(pattern,repl,string,countt=0,flags=0)
(1)pattern:匹配的正则表达式
(2)repl:替换的字符串
(3)string:原始字符串
(4)counts:替换的最大次数,默认为0
(5)flags:标志位
```
str3 = "123-4567-8910"
res45 = re.sub('\D','',str3)
print res45
结果:
12345678910
```