[发明专利]字符串搜索方法、装置、计算机设备及介质有效
申请号: | 202010568627.2 | 申请日: | 2020-06-19 |
公开(公告)号: | CN111581461B | 公开(公告)日: | 2023-04-25 |
发明(设计)人: | 成贤斌 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F40/289 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 张所明 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 字符串 搜索 方法 装置 计算机 设备 介质 | ||
1.一种字符串搜索方法,其特征在于,所述方法包括:
获取输入的模式字符串;
获取主字符串以及容错阈值,所述主字符串的长度大于所述模式字符串的长度;
将所述模式字符串和所述主字符串中的等长子串进行逐字符的匹配;
响应于所述模式字符串和所述等长子串存在不匹配字符、所述模式字符串中的不匹配字符不是首字符且已删除字符数未达到所述容错阈值,对所述主字符串中的不匹配字符进行删除,确定长度与所述模式字符串的剩余字符长度相同的下一个等长子串,从所述不匹配字符开始对所述模式字符串的剩余字符和所述等长子串进行继续匹配;
响应于所述模式字符串中的字符在所述主字符串中均存在匹配字符,将所述主字符串输出为所述模式字符串的搜索结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述模式字符串和所述等长子串存在不匹配字符、所述模式字符串中的不匹配字符不是首字符且已删除字符数达到所述容错阈值,确定本轮匹配过程中的已匹配字符的最长公共前后缀;
将所述模式字符串中的剩余字符向后移动指定长度,所述指定长度等于所述已匹配字符的长度减去所述最长公共前后缀的长度,或者,所述指定长度等于一;
响应于所述主字符串中存在长度与所述模式字符串中的剩余字符长度相同的下一个等长子串,从所述不匹配字符开始对所述模式字符串的剩余字符和所述等长子串进行继续匹配。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述模式字符串和所述等长子串存在不匹配字符、且所述模式字符串中的不匹配字符是首字符;
将所述模式字符串向后移动一位;
响应于所述主字符串中存在长度与所述模式字符串对应的下一个等长子串,再次执行所述将所述模式字符串和所述等长子串进行逐字符的匹配的步骤。
4.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
将所述不匹配字符在所述主字符串中进行删除后,将所述已删除字符数加一,所述已删除字符数的初始值为零。
5.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
对所述模式字符串和所述主字符串按照相同的分词方式进行分词;
将所述模式字符串和所述主字符串分词得到的各个词语分别映射为单个字符;
其中,不同的词语对应不同的字符,相同的词语对应相同的字符。
6.根据权利要求5所述的方法,其特征在于,所述主字符串属于候选字符串库;所述对所述模式字符串和所述主字符串按照相同的分词方式进行分词,包括:
对所述模式字符串采用目标词典进行分词,得到所述模式字符串的每个分词;对所述主字符串采用所述目标词典进行分词,得到所述主字符串的每个分词;
其中,所述目标词典是根据所述候选字符串库中的词语构建的分词词典。
7.根据权利要求1至3任一所述的方法,其特征在于,所述主字符串属于候选字符串库;所述方法还包括:
计算所述候选字符串库中各个字符串的平均长度;
根据所述平均长度设置所述容错阈值。
8.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
根据输入的参数值,设置所述容错阈值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010568627.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种人力资源用展览展示架
- 下一篇:一种无线智能病房护理系统及方法