Python高级正则

1 import re
2 
3 p = re.compile("^[0-9]")
4 
5 m = p.match('13435aSAdb')
6 
7 print(m.group())

一、上面的第二行和第三行也可以合并成一行来写

  m = p.match("^[0-9]",'13435aSAdb')

效果是一样的,区别在于第一种方式是提前对要匹配的格式进行编译,第二种简写是每次匹配的时候都要进行一次匹配公式的编译,加入你需要从一个5w行的文件中匹配出所有以数字开头的行建议先把正则公式进行编译再匹配。这样速度会很快。

二、

 1 import re
 2 
 3 #match 从开头匹配
 4 string = "192.168.0.156"
 5 #匹配前三个为1-9的字符后面为.的
 6 p = re.match("[1-9]{3}\.",string)
 7 print(p.group())
 8 
 9 #匹配不包含a-z的前十个字符
10 p = re.match("[^a-z]{10}",string)
11 print(p.group())

三、

 


posted @ 2018-07-23 21:36  Presley  阅读(198)  评论(0编辑  收藏  举报