grok在python 中的使用
来源:互联网 发布:钉钉阿里云code机器人 编辑:程序博客网 时间:2024/06/05 15:24
grok 意为“通过感觉会意”
他比正则匹配更高级一些,在语法上略有不同,不过属于换汤不换药,正则熟悉的同学,grok对你来说也不会很难。
grok很多语言已经支持,python 中也有第三方库,pygrok项目地址
https://github.com/garyelephant/pygrok
安装
pip install pygrok
示例
from pygrok import Groktext = 'gary is male, 25 years old and weighs 68.5 kilograms'pattern = '%{WORD:name} is %{WORD:gender}, %{NUMBER:age} years old and weighs %{NUMBER:weight} kilograms'grok = Grok(pattern)print grok.match(text)# {'gender': 'male', 'age': '25', 'name': 'gary', 'weight': '68.5'}
我们看到格式中{WORD:xxx},{NUMBER:xxx},这里面的NUMBER类型后面可以定义类型,例如, %{NUMBER:age:int}
那么输出的字典直接输出我们定义的类型
# {'gender': 'male', 'age': 25, 'name': 'gary', 'weight': 68.5}
常用类型
`WORD` 意思是 \b\w+\b 规则.`NUMBER` 意思是 (?:%{BASE10NUM}) 数字`BASE10NUM` means (?<![0-9.+-])(?>[+-]?(?:(?:[0-9]+(?:\.[0-9]+)?)|(?:\.[0-9]+)))其他的例如 `IP`, `HOSTNAME`, `URIPATH`, `DATE`, `TIMESTAMP_ISO8601`, `COMMONAPACHELOG`..
还支持很多nginx_access ,syslog等。
参考资料:
[1].http://grokdebug.herokuapp.com/patterns
阅读全文
0 0
- grok在python 中的使用
- Grok的使用
- getopt在Python中的使用
- pdf2htmlex在python中的使用
- Protobuf在Python中的使用
- getopt在Python中的使用
- getopt在Python中的使用
- 在python中的使用Libsvm
- ansible 在python中的使用
- List在Python中的使用
- getopt在Python中的使用
- Protobuf在Python中的使用
- 注释在Python中的使用
- geopy 在python中的使用
- logstash使用grok正则解析日志
- logstash 使用grok正则解析日志
- Logstash使用grok解析IIS日志
- python在自动化测试中的使用
- Node+vue实现视频中的人脸识别
- struts 跨站点脚本漏洞
- dlib实现人脸识别-python
- 35 个 Java 代码性能优化总结
- 如何在Ubuntu下为SI安装Fixedsys字体
- grok在python 中的使用
- Altium Designer 9 / 10 / 15 系列 不能正常启动的解决办法。
- SQL 事务隔离级别
- Unity Shader 学习笔记(11) 渲染队列、透明效果
- C++ Primer Plus第五版 第10章 编程练习答案
- MAC 秘钥登录Linux
- java读写txt文档的几种方式
- SpringBoot-HBase
- 怎么让iframe加载内容速度更快,用target而不是用js更改iframe的src