[发明专利]在正则表达式代码上使用最长通用子序列算法的正则表达式生成在审
申请号: | 201980037104.0 | 申请日: | 2019-06-12 |
公开(公告)号: | CN112236747A | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | M·马拉克;L·E·李瓦斯;M·L·克莱德尔 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F40/194;G06F16/332;G06F3/0482;G06F16/33;G06F40/146;G06F3/14;G06F16/2452;G06F9/451;G06F40/10;G06K9/62;G06F40/177;G06K9/68;G06F1 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 张鑫 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 正则 表达式 代码 使用 最长 通用 序列 算法 生成 | ||
1.一种使用最长通用子序列(LCS)算法生成正则表达式的方法,所述方法包括:
由包括一个或多个处理器的正则表达式生成器接收标识三个或更多个字符序列的输入数据;
由所述正则表达式生成器将所述三个或更多个字符序列中的每一个转换成相应的正则表达式代码集合,从而产生三个或更多个正则表达式代码集合;
由所述正则表达式生成器多次执行最长通用子序列(LCS)算法,并捕获所述LCS算法的多个输出,其中,对所述三个或更多个正则表达式代码集合的每一个唯一两集合组合执行所述LCS算法;
由所述正则表达式生成器存储定义全连接图的数据,所述数据包括:
多个节点,其中所述全连接图的每一个节点对应于所述三个或更多个正则表达式代码集合中的一个;以及
多条边,连接所述多个节点中的每一个唯一节点对,其中每一个唯一节点对之间的边长由对与所述唯一节点对相对应的正则表达式代码执行的所述LCS算法的输出定义;
由所述正则表达式生成器确定所述全连接图的最小生成树;
由所述正则表达式生成器遍历所述全连接图的最小生成树,以确定用于标识所述三个或更多个字符序列中的第一最长通用子序列的顺序。
2.如权利要求1所述的方法,还包括通过以下方式标识所述三个或更多个字符序列中的第一最长通用子序列:
使用所述LCS算法标识与所述输入数据内的第一和第二字符序列相对应的第一和第二正则表达式代码集合之间的所述第一最长通用子序列;
使用所述LCS算法标识与所述输入数据内的第一和第三字符序列相对应的第一和第三正则表达式代码集合之间的第二最长通用子序列;
使用所述LCS算法标识与所述输入数据内的第二和第三字符序列相对应的第二和第三正则表达式代码集合之间的第三最长通用子序列;
基于通过遍历所述全连接图的最小生成树所确定的顺序,选择所述第一最长通用子序列。
3.如权利要求1所述的方法,其中遍历所述全连接图的最小生成树包括在所述最小生成树上执行深度优先遍历。
4.如权利要求1所述的方法,还包括:
由所述正则表达式生成器将作为所述LCS算法的输入提供的多个正则表达式代码对以及所述LCS算法的相应输出存储在存储器中;
由所述正则表达式生成器基于所述LCS算法的所述多次执行的输出生成一个或多个正则表达式,
其中,在生成所述一个或多个正则表达式之后,作为所述LCS算法的输入提供的所述多个正则表达式代码对和所述LCS算法的相应输出被保留在所述存储器中。
5.如权利要求4所述的方法,还包括:
由所述正则表达式生成器接收标识多个附加字符序列的输入数据;
由所述正则表达式生成器将所述多个附加字符序列中的每一个转换成相应的正则表达式代码集合,从而产生多个附加正则表达式代码;
标识所述多个附加正则表达式代码中与被存储和保留在所述存储器中的正则表达式代码对相匹配的正则表达式代码对;
响应于标识作为所述LCS算法的输入提供的匹配的正则表达式代码对,从所述存储器检索所述LCS算法的相应输出。
6.如权利要求1所述的方法,还包括基于所述LCS算法的所述多次执行来生成正则表达式,其中生成所述正则表达式包括:
基于通过遍历最小生成树所确定的顺序来确定所述三个或更多个正则表达式代码集合中的前两个正则表达式代码集合;
第一次附加执行所述LCS算法,其中所述第一次附加执行包括提供所述前两个正则表达式代码集合作为所述LCS算法的执行的输入,以及捕获所述LCS算法的第一输出;
基于通过遍历最小生成树所确定的顺序来确定所述三个或更多个正则表达式代码集合中的第三正则表达式代码集合;以及
第二次附加执行所述LCS算法,其中所述第二次附加执行包括提供所述LCS算法的第一输出和第三正则表达式代码集合作为所述LCS算法的第二次附加执行的输入,以及捕获所述LCS算法的第二输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980037104.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于修复受损螺纹的方法和工具
- 下一篇:折叠辊和包括所述折叠辊的机器