发表于: 2018-04-03 01:35:08

2 903


今天完成的事情:

1.re.compile的意义

2.pattern的大致意思和用法

3.进一步的正则表达式(/d、*、+、?等)

4.掌握了如何匹配代码 
5.正则的贪婪与非贪婪


明天计划的事情:

进一步对脚本进行解读,尝试get如何对IP地址的出现次数进行统计。 

遇到的问题:

1.Pattern的意义


收获:

进一步掌握了如何用正则进行匹配,并向任务一进了一小步。




详情如下:

首先,通过对正则表达式的理解,发现脚本中的前几行已经可以理解了

较有难度的是“pattern = re.compile(r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}')”这一行

考虑到re.findall是在全文中检索,“re.compile”应该也是类似功能的代码,即以某种方式检索。经百度,一个Pattern是一个正则表达式经编译后的表现模式,不太懂,理解成,把文本按某种方式和规则编译

随后,对('^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}')开始解读。“^”为caret,从开头进行索引,不是开头的不要。"\d"为匹配任何十进制数字,相当于[0-9],{1,3}据猜测为次数1~3次的意思,恰好IP也为三位数以内的数字,经查证,确实如此。因此,该行代码的意思就是,

“将文本进行编译,从头开始匹配“三位数以内的数字.三位数以内的数字.三位数以内的数字.三位数以内的数字””,即将IP进行编译并匹配










返回列表 返回列表
评论

    分享到