-
公开(公告)号:CN109977298A
公开(公告)日:2019-07-05
申请号:CN201910116717.5
申请日:2019-02-15
Applicant: 中国科学院信息工程研究所
IPC: G06F16/9535
Abstract: 本发明提供一种从正则表达式中抽取最长精确子串的方法,步骤包括:构造正则表达式的解析树,获得可以进行解析树遍历访问的根节点;将解析树的CONCAT路径上的CONCAT节点的边都进行切分,把解析树切分成多个子树,每个子树即为一个基本单元;新建一个节点作为精确串锚点,用以存储精确串,同时记录该精确串锚点的左右邻居,该精确串为只有单个字符的基本单元或者由连续CONCAT操作符切分的字符拼接而成;通过对精确串锚点的左邻居和右邻居分别计算后缀和前缀,通过对后缀、精确串、前缀的拼接即可得到基于该精确串锚点抽取的精确子串,再通过对所有精确串锚点的计算,得到最长精确子串。
-
公开(公告)号:CN109977298B
公开(公告)日:2021-07-23
申请号:CN201910116717.5
申请日:2019-02-15
Applicant: 中国科学院信息工程研究所
IPC: G06F16/9535
Abstract: 本发明提供一种从正则表达式中抽取最长精确子串的方法,步骤包括:构造正则表达式的解析树,获得可以进行解析树遍历访问的根节点;将解析树的CONCAT路径上的CONCAT节点的边都进行切分,把解析树切分成多个子树,每个子树即为一个基本单元;新建一个节点作为精确串锚点,用以存储精确串,同时记录该精确串锚点的左右邻居,该精确串为只有单个字符的基本单元或者由连续CONCAT操作符切分的字符拼接而成;通过对精确串锚点的左邻居和右邻居分别计算后缀和前缀,通过对后缀、精确串、前缀的拼接即可得到基于该精确串锚点抽取的精确子串,再通过对所有精确串锚点的计算,得到最长精确子串。
-