正则表达式的生成、数据提取方法、装置、设备及介质制造方法及图纸

技术编号:26791259 阅读:28 留言:0更新日期:2020-12-22 17:06
本申请公开了一种正则表达式的生成、数据提取方法、装置、设备及介质,涉及数据处理技术领域,进一步涉及数据提取及分类技术,其中,正则表达式的生成方法包括:获取样本数据列表;所述样本数据列表包括多个样本数据;根据各所述样本数据生成与所述样本数据列表对应的公共数据树;根据所述公共数据树生成数据类型列表;根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。本申请实施例能够自动生成正则表达式,从而提高正则表达式的生成效率。

【技术实现步骤摘要】
正则表达式的生成、数据提取方法、装置、设备及介质
本申请涉及数据处理
,具体涉及数据提取及分类技术。
技术介绍
在数据标准的制定中,通常需要对某一类的数据抽象出正则表达式。正则表达式可以抽象出类似数据的共同特征,同时还可以自动化对数据进行提取分类。由于数据存在数据类型多样化及数量庞大的特点,人工设计正则表达式非常浪费人力和时间,因此自动生成正则表达式是十分必要的。
技术实现思路
本申请实施例提供了一种正则表达式的生成、数据提取方法、装置、设备及介质,以自动生成正则表达式,从而提高正则表达式的生成效率。第一方面,本申请实施例提供了一种正则表达式的生成方法,包括:获取样本数据列表;所述样本数据列表包括多个样本数据;根据各所述样本数据生成与所述样本数据列表对应的公共数据树;根据所述公共数据树生成数据类型列表;根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。第二方面,本申请实施例提供了一种数据提取方法,包括:获取待处理数据;分析所述待处理数据,生成本文档来自技高网...

【技术保护点】
1.一种正则表达式的生成方法,包括:/n获取样本数据列表;所述样本数据列表包括多个样本数据;/n根据各所述样本数据生成与所述样本数据列表对应的公共数据树;/n根据所述公共数据树生成数据类型列表;/n根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。/n

【技术特征摘要】
1.一种正则表达式的生成方法,包括:
获取样本数据列表;所述样本数据列表包括多个样本数据;
根据各所述样本数据生成与所述样本数据列表对应的公共数据树;
根据所述公共数据树生成数据类型列表;
根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。


2.根据权利要求1所述的方法,其中,所述根据各所述样本数据生成与所述样本数据列表对应的公共数据树,包括:
将所述样本数据列表作为当前数据列表;
通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共连续子序列;
将所述当前目标公共连续子序列作为当前公共数据树的根节点,并根据所述目标公共连续子序列以及所述当前数据列表中各所述样本数据依次确定各所述样本数据的临时子节点;其中,所述临时子节点包括第一临时子节点和第二临时子节点;
根据各所述临时子节点构建目标数据列表,并根据所述目标数据列表更新所述当前数据列表;
返回执行通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共连续子序列的操作,并根据所述目标数据列表的根节点更新所述当前公共数据树的子节点,直至所述当前目标公共连续子序列为空。


3.根据权利要求2所述的方法,所述根据各所述当前子公共数据树的子节点构建目标数据列表,包括:
根据各所述第一临时子节点构建第一目标数据列表;及
根据各所述第二临时子节点构建第二目标数据列表;
所述根据所述目标数据列表的根节点更新所述当前公共数据树的子节点,包括:
将各所述第一目标数据列表的根节点作为所述当前公共数据树的第一子节点;
将各所述第二目标数据列表的根节点作为所述当前公共数据树的第二子节点。


4.根据权利要求1所述的方法,其中,所述根据所述公共数据树生成数据类型列表,包括:
根据所述公共数据树以及所述样本数据列表生成公共数据全列表;
根据所述公共数据全列表生成所述数据类型列表。


5.根据权利要求4所述的方法,其中,所述根据所述公共数据树以及所述样本数据列表生成公共数据全列表,包括:
对所述公共数据树进行遍历,根据遍历结果构建公共数据中间列表;
根据所述样本数据列表包括的非公共数据形成对应的子数据列表;
根据各所述子数据列表对所述公共数据中间列表进行扩充,得到所述公共数据全列表。


6.根据权利要求4或5所述的方法,其中,所述根据所述公共数据全列表生成所述数据类型列表,包括:
将所述公共数据全列表的公共数据确定为第一数据类型;
计算所述公共数据全列表的各子数据列表的长度信息熵;
根据各所述子数据列表的长度信息熵与第一设定阈值之间的数值关系确定各所述子数据列表的数据类型。


7.根据权利要求6所述的方法,其中,所述根据各所述子数据列表的长度信息熵与第一设定阈值之间的数值关系确定各所述子数据列表的数据类型,包括:
在所述子数据列表的长度信息熵大于所述第一设定阈值的情况下,将所述子数据列表的数据类型确定为第二数据类型;
在所述子数据列表的长度信息熵小于或等于所述第一设定阈值的情况下,将所述子数据列表的数据类型确定为所述第一数据类型。


8.根据权利要求1所述的方法,其中,所述根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式,包括:
根据所述数据类型列表以及公共数据全列表生成与所述样本数据列表匹配的多个正则表达式。


9.根据权利要求8所述的方法,其中,所述根据所述数据类型列表以及公共数据全列表生成与所述样本数据列表匹配的多个正则表达式,包括:
按照数据排序顺序获取所述公共数据全列表的当前待处理数据;
在确定所述当前待处理数据的数据类型为第一数据类型的情况下,根据所述当前待处理数据包括的待处理数据数量生成与所述当前待处理数据匹配的子正则表达式;
在确定所述当前待处理数据的数据类型为第二数据类型的情况下,根据所述当前待处理数据的长度信息熵生成与所述当前待处理数据匹配的子正则表达式;
按照所述数据排序顺序获取下一个待处理数据,并根据所述下一个待处理数据更新所述当前待处理数据;
返回执行生成与所述当前待处理数据匹配的子正则表达式的操作,直至所述公共数据全列表的所有待处理数据处理完成;
根据各所述子正则表达式生成与所述样本数据列表匹配的多个正则表达式。


10.根据权利要求9所述的方法,其中,所述根据所述当前待处理数据包括的待处理数据数量生成与所述当前待处理数据匹配的子正则表达式,包括:
在确定所述待处理数据数量为第一数量时,将所述当前待处理数据直接作为所述当前待处理数据匹配的子正则表达式;
在确定所述待处理数据数量为非第一数量时,将所述当前待处理数据的各个数据组合作为所述当前待处理数据匹配的子正则表达式。


11.根据权利要求9所述的方法,其中,所述根据所述当前待处理数据的长度信息熵生成与所述当前待处理数据匹配的子正则表达式,包括:
在所述当前待处理数据的长度信息熵大于或等于第二设定阈值的情况下,将预设字符作为所述当前待处理数据匹配的子正则表达式;
在所述当前待处理数据的长度信息熵小于第二设定阈值且大于第三设定阈值的情况下,将所述当前待处理数据的各个数据的第一长度信息和第二长度信息作为所述当前待处理数据匹配的子正则表达式;
在所述当前待处理数据的长度信息熵小于或等于所述第三设定阈值的情况下,将所述当前待处理数据的各个数据的第三长度信息作为所述当前待处理数据匹配的子正则表达式。


12.根据权利要求11所述的方法,其中,还包括:
获取各所述子正则表达式中的目标子正则表达式的表达式组成类型;
根据所述表达式组成类型利用预设标识对各所述目标子正则表达式进行标识。


13.根据权利要求1所述的方法,还包括:
利用亲密度函数计算各所述正则表达式的亲密度;
将目标亲密度对应的正则表达式确定为目标正则表达式。


14.一种数据提取方法,包括:
获取待处理数据;
分析所述待处理数据,生成与所述待处理数据匹配的正则表达式;
根据生成的所述正则表达式对所述待处理数据进行数据提取;
其中,所述正则表达式通过权利要求1-13任一项所述的正则表达式的生成方法生成。


15.一种正则表达式的生成装置,包括:
样本数据列表获取模块,用于获取样本数据列表;所述样本数据列表包括多个样本数据;
公共数据树生成模块,用于根据各所述...

【专利技术属性】
技术研发人员:吕亮亮冯智宋传园
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1