1、正则表达式
分析日志
提取信息
字符匹配:
普通字符:
大多数字符和字母一般都会和自身匹配
如正则表达式test会和字符串‘test’完成匹配
元字符:
. ^ $ * + ? {} [] \ | ()
re模块
findall用法:
用法1:
s = ‘hello world‘
p = ‘hello‘
re.findall(p,s)
用法2:
s = ‘hello world‘
r = re.compile(r‘hello‘)
r.findall(s)
查找:
findall返回的为列表,而match和search返回的为对象
re.findall() 查找字符串中符合规则的内容,返回的为列表,
rego = re.compile(r"top") 对匹配的进行编译,编译后在进行匹配
rego.findall(s)
re.match(reg,s) 判断是否有符合规则的数据,如果有则返回,如果没有则不返还。只从字符串的开头去匹配(行首),只匹配一次,
re.search(reg,s) 在整个字符串里查找
替换:
rego.sub(‘good‘,s)
不区分大小写:
good = re.compile(r‘[Gg]ood‘,re.I) re.I不区分大小写
re.findall(r‘^ntp‘,s,re.M) 当一行中有换行符时用M去除换行符在进行查找
分组:
re.findall(r‘(^ntp)‘,s,re.M) 只返回ntp
正则方法:
re.X
re.M
re.I
贪婪匹配:
re.findall(r‘<.*>‘,‘<h1> hello </h1>‘)
本文出自 “muzinan的技术博客” 博客,请务必保留此出处http://muzinan110.blog.51cto.com/684213/1440900