[发明专利]基于正则表达及分隔符的组合式数据切割方法有效
申请号: | 201610547584.3 | 申请日: | 2016-07-13 |
公开(公告)号: | CN106202004B | 公开(公告)日: | 2019-10-11 |
发明(设计)人: | 程永新;宋辉;谢涛;谭林;罗成 | 申请(专利权)人: | 上海轻维软件有限公司 |
主分类号: | G06F17/21 | 分类号: | G06F17/21;G06F17/22;G06F17/27 |
代理公司: | 上海科律专利代理事务所(特殊普通合伙) 31290 | 代理人: | 袁亚军;金碎平 |
地址: | 200331 上海市普陀区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于正则表达及分隔符的组合式数据切割方法,包括如下步骤:a)读取日志文件;b)按照时间戳或开始符识别并提取日志文件中的事件;c)对提取出来的事件内容按照固定分隔符或正则表达的方式进行数据提取;所述步骤b)选取多个预设字符串作为开始符,并将多个预设字符串转换为多个正则表达式,然后遍历每一行日志数据,依次匹配每一个正则表达式。本发明提供的基于正则表达及分隔符的组合式数据切割方法,根据不同的事件类型采用不同的切割方式,每种切割方式对应一个范围内的日志,通过每种方式提供的字符串操作,从而满足各种复杂日志的快速识别切割,简单易用,并具有较好的扩展性。 | ||
搜索关键词: | 基于 正则 表达 分隔 组合式 数据 切割 方法 | ||
【主权项】:
1.一种基于正则表达及分隔符的组合式数据切割方法,其特征在于,包括如下步骤:a) 读取日志文件;b) 按照时间戳或开始符识别并提取日志文件中的事件;c) 对提取出来的事件内容按照固定分隔符或正则表达的方式进行数据提取;所述步骤c)包括:先对提取出来的事件内容按照预先定义的常用分割符号进行第一次切割,将切割出来的字段再进行二次切割;所述二次切割通过预先定义的常用分割符号再次切割或者通过鼠标滑动选中想要提取的内容;对切割出来的字段继续进行循环切割,直到划分出预定的目标结果;将切割后的内容组装成一个树形结构数据,通过转换生成正则表达式;所述步骤c) 将提取出来的事件内容划分为标识词和提取词,所述标识词在日志的开始下标记为markStartIndex,结束下标称记为markEndIndex,所述提取词在日志的开始下标记为wordStartIndex,结束下标记为wordEndIndex;所述步骤c) 通过如下转换生成正则表达式:c1)获取下一个标识词,如果存在,那么通过该标识词markStartIndex和markEndIndex,得到该标识词的值,记为markValue,否则结束生成正则表达式;c2)对markValue进行字符分析,计算每个符号的个数,根据每一个符号的权值,计算出权值最大的符号作为标识符,根据标识符的格式动态生成正则表达式,记为markRegex;同时,记录该标识符出现在标识词最后的下标为markCharEndIndex;如果没有计算出符号权值,那么根据字符值译作为标识,也记为markRegex;c3)获取下一个提取词,通过提取词提取wordStartIndex和wordEndIndex,得到该提取词的值,记为wordValue;c4)判断wordValue左右是否有符号,如果存在符号,那么以符号标识该提取的开始和结束,记为wordRegex;如果不存在这样的符号,那么根据字符转化对应的正则表达式,标识为wordRegex;c5)通过markCharEndIndex和wordStartIndex下标获取这一段的字符值,转化成正则表达式,记为midRegex;c6)组合markRegex,midRegex和wordRegex三者的正则表示记为extractRegex,该段的动态正则表达式匹配生成结束,重复步骤c1直至为所有的事件内容生成正则表达式。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海轻维软件有限公司,未经上海轻维软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610547584.3/,转载请声明来源钻瓜专利网。
- 上一篇:基于迭代的同义词挖掘方法及装置
- 下一篇:深水立管一体式数据采集装置