JS实现字符串模糊匹配

var str = "徐娜xuanchengwush数据uc是hulichang"
var key = "徐娜数据g"
// 模糊匹配
function fuzzyMatch(str, key){let index = -1, flag = false;for(var i = 0, arr = key.split(""); i < arr.length; i++ ){//有一个关键字都没匹配到,则没有匹配到数据if(str.indexOf(arr[i]) < 0){break;}else{let match = str.matchAll(arr[i]);let next = match.next();while (!next.done){if(next.value.index > index){index = next.value.index;if(i === arr.length - 1){flag = true}break;}next = match.next();}}}return flag
}
fuzzyMatch(str, key)        // ----> true
fuzzyMatch(str, “徐我”)   // ----> false

这个有大小写的区分,而且matchAll的性能方面可能会差一些。第一篇博客,不足之处后期改进!

JS实现字符串模糊匹配相关推荐

  1. python模糊查询_python实现字符串模糊匹配

    之前笔者写过一篇文章关于如何做搜索,但那篇文章的角度是从文本相似度角度写的.那种方式是目前发展的趋势,但是真正的搜索特别是网页搜索不可能在大范围的文本之间两两算相似度的.那样搜索引擎的效率会变得特别低 ...

  2. Python字符串模糊匹配库FuzzyWuzzy

    Python字符串模糊匹配库FuzzyWuzzy 在计算机科学中,字符串模糊匹配(fuzzy string matching)是一种近似地(而不是精确地)查找与模式匹配的字符串的技术.换句话说,字符串 ...

  3. python字符串模糊匹配 - FuzzyWuzzy

    简介 字符串模糊匹配在很多问题中有实际价值.比如NER或任何词条关联问题,将不规范的词条与标准词条进行链接匹配.在数据量大或包含关系复杂时,使用优秀的工具包可极大提升效率. FuzzyWuzzy 既是 ...

  4. python字符串模糊匹配 - RapidFuzz

    简介 之前已介绍了字符串模糊匹配的应用以及FuzzyWuzzy包的使用.目前使用较多的是运行速度更快的RapidFuzz,从名字即可看出其特点.RapidFuzz是一个使用python和C++编写的字 ...

  5. python字符串模糊匹配_NLP教程:用Fuzzywuzzy进行字符串模糊匹配

    在计算机科学中,字符串模糊匹配( fuzzy string matching)是一种近似地(而不是精确地)查找与模式匹配的字符串的技术.换句话说,字符串模糊匹配是一种搜索,即使用户拼错单词或只输入部分 ...

  6. java 字符串模糊匹配_Java实现伪查询(全匹配+模糊匹配)

    Java实现伪查询(全匹配+模糊匹配) 在项目中一直习惯了框架下[springboot+mybatis]的增删改查,然后领导突然给了一个需求,让我先弄一些假数据出来,用于页面的展示,业务啥的也没说,咱 ...

  7. java 字符串模糊匹配

    java正则表达式通过java.util.regex包下的Pattern类与Matcher类实现. Pattern类用于创建一个正则表达式,也可以说创建一个匹配模式,它的构造方法是私有的,不可以直接创 ...

  8. 深信服——字符串模糊匹配

    题目描述: 从字符串string开始完整匹配子串sub,返回匹配到的字符个数. sub中如果出现'?'表示可以匹配一到三个除'\0'以外的任意字符. 如果sub还有找不到匹配的字符,则说明不能完整匹配 ...

  9. FuzzyWuzzy:简单易用的字符串模糊匹配工具

    FuzzyWuzzy 是一个简单易用的模糊字符串匹配工具包.它依据Levenshtein Distance 算法计算两个序列之间的差异. Levenshtein Distance 算法,又叫 Edit ...

最新文章

  1. UIViewController生命周期
  2. 背水一战 Windows 10 (36) - 控件(弹出类): ToolTip, Popup, PopupMenu
  3. 一次作死尝试:将自己的linux用rm -rf /会怎样?结果哭了。。
  4. php对分数排序,php-MySQL @grouping结果按ID并按分数排序”问题
  5. LInux 下安装 python notebook 及指向路径,运行计时,炫酷的深蓝午夜主题,本地登陆远程服务器
  6. 来自一位家长的肺腑之言,句句在理!!!
  7. mysql插10万条数据_如何快速安全的插入千万条数据?
  8. java 类里面对象共享_Java并发编程 - 对象的共享
  9. 为什么世界上近60%的人使用谷歌Chrome浏览器?
  10. 浅谈算法和数据结构: 四 快速排序
  11. 蓝桥杯真题:单词分析
  12. leetcode 812. Largest Triangle Area(python)
  13. PHP网站地图生成类
  14. 高维空间最近邻逼近搜索算法评测
  15. 俄罗斯立法机关将于下周开始审核加密货币法律草案
  16. 搭建本地Spring Initializr服务(2020/4/17)
  17. 火山引擎:数字化时代,如何给金融业注入“内容活水”?
  18. SpringMVC-CRUD与文件上传、文件下载
  19. Android 之 超详细 Broadcast
  20. 丛林战争项目八之Workbench创建数据库和表

热门文章

  1. 计算机网络中常见的各层协议
  2. C语言计算程序运行时间简单实例
  3. 同步与异步区别之我见(一)
  4. 一刀工具箱-短链接生成工具
  5. asp医院病历管理系统
  6. scotland yard
  7. Spring Boot中使用Spring Data JPA示例
  8. 在editplus中 删除空白行、匹配删除行
  9. 实现圆形头像(并且不管图大小都显示成固定尺寸)-和上一篇有点不同。
  10. 阿里云前端周刊 - 第 13 期 1