[发明专利]一种字符串匹配的方法和装置有效
申请号: | 201710862074.X | 申请日: | 2017-09-21 |
公开(公告)号: | CN107545071B | 公开(公告)日: | 2020-02-07 |
发明(设计)人: | 刘欣然;李晓宇;王文博;徐佳瑞;李明;周宇 | 申请(专利权)人: | 北京神州泰岳智能数据技术有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903 |
代理公司: | 11323 北京市隆安律师事务所 | 代理人: | 权鲜枝 |
地址: | 100081 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 字符串 匹配 方法 装置 | ||
1.一种字符串匹配的方法,其特征在于,包括:
初始化带有模糊节点的AC状态机;
其中,所述AC状态机根据各规则字符串包含的字符之间的非通配关系生成常规节点,并根据字符之间的通配关系生成对应的模糊节点;
将目标字符串输入到AC状态机中,比较所述目标字符串中各字符与所述AC状态机中各节点对应的字符,确定出所述目标字符串匹配的一个或多个规则字符串;
根据匹配出的规则字符串执行相应操作;
所述规则字符串包括:含通配符的规则字符串以及不含通配符的规则字符串,
初始化带有模糊节点的AC状态机包括:
根据规则字符串包含的模糊字符以及该模糊字符与下一个字符之间的通配关系,为该模糊字符生成模糊子节点,并设置模糊子节点的父节点作为其失败节点;根据该模糊字符与下一个字符之间的非通配关系,为该模糊字符生成常规子节点,其中,模糊字符是指与通配符相邻的字符;模糊子节点指示的字符为通配符之后的第一个字符;模糊字符对应的节点为模糊节点;
所述将目标字符串输入到AC状态机中,比较所述目标字符串中各字符与所述AC状态机中各节点对应的字符,确定出所述目标字符串匹配的一个或多个规则字符串包括:
比较目标字符串的当前字符与模糊子节点对应的字符,并在比较之后返回模糊子节点的失败节点。
2.根据权利要求1所述的方法,其特征在于,比较所述目标字符串中各字符与所述AC状态机中各节点对应字符,确定出所述目标字符串匹配的一个或多个规则字符串包括:
获取目标字符串的当前字符,根据AC状态机中节点对应的子节点的类型,将当前字符与常规子节点对应的字符比较时,进行常规匹配操作,包括:比较当前字符与常规子节点对应的字符,相同则继续比较所述当前字符的下一个字符与所述常规子节点的子节点对应的字符,相同则继续依次比较目标字符串的剩余字符直至目标字符串结束,从而确定出匹配的规则字符串;
将当前字符与模糊子节点对应的字符比较时,进行模糊匹配操作,模糊匹配操作包括:若当前字符与模糊子节点对应的字符不相同,则获取所述当前字符的下一个字符,比较该下一个字符与所述失败节点的各模糊子节点对应的字符;若当前字符与任一模糊子节点对应的字符相同,则获取所述当前字符的下一个字符,比较该下一个字符与所述字符相同的模糊子节点的子节点对应的字符,相同则继续比较目标字符串的剩余字符与所述字符相同的模糊子节点的子节点对应的字符,直至目标字符串结束,从而确定出匹配的规则字符串。
3.根据权利要求1所述的方法,其特征在于,所述规则字符串为既定的统一资源定位符URL,所述目标字符串为用户输入的URL。
4.根据权利要求3所述的方法,其特征在于,根据匹配出的规则字符串执行相应操作包括:根据目标字符串所匹配的一个或多个规则字符串对应的属性信息,识别用户的浏览行为。
5.一种字符串匹配的装置,其特征在于,包括:
初始化模块,用于初始化带有模糊节点的AC状态机;
其中,所述AC状态机根据各规则字符串包含的字符之间的非通配关系生成常规节点,并根据字符之间的通配关系生成对应的模糊节点;
匹配模块,用于将目标字符串输入到所述AC状态机中,比较所述目标字符串中各字符与所述AC状态机中各节点对应的字符,确定出所述目标字符串匹配的一个或多个规则字符串;
所述将目标字符串输入到AC状态机中,比较所述目标字符串中各字符与所述AC状态机中各节点对应的字符,确定出所述目标字符串匹配的一个或多个规则字符串包括:
比较目标字符串的当前字符与模糊子节点对应的字符,并在比较之后返回模糊子节点的失败节点;
操作模块,用于根据匹配出的规则字符串执行相应操作;
所述规则字符串包括:含通配符的规则字符串以及不含通配符的规则字符串,
初始化模块,具体用于根据规则字符串包含的模糊字符以及该模糊字符与下一个字符之间的通配关系,为该模糊字符生成模糊子节点,并设置模糊子节点的父节点作为其失败节点;根据该模糊字符与下一个字符之间的非通配关系,为该模糊字符生成常规子节点,其中,模糊字符是指与通配符相邻的字符;模糊子节点指示的字符为通配符之后的第一个字符;模糊字符对应的节点为模糊节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京神州泰岳智能数据技术有限公司,未经北京神州泰岳智能数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710862074.X/1.html,转载请声明来源钻瓜专利网。