fuzzball.js 通配符模糊匹配完全指南:wildcard 选项与自定义匹配规则
fuzzball.js 通配符模糊匹配完全指南wildcard 选项与自定义匹配规则【免费下载链接】fuzzball.jsEasy to use and powerful fuzzy string matching, port of fuzzywuzzy.项目地址: https://gitcode.com/gh_mirrors/fu/fuzzball.jsfuzzball.js 是一个强大的 JavaScript 模糊字符串匹配库Python TheFuzz / fuzzywuzzy 的移植版。本文带你完整掌握它的wildcard 选项与自定义匹配规则3 行代码启用通配符模糊匹配用自定义 scorer 编写评分规则最后附一份常见限制避坑清单新手也能快速上手。一、什么是通配符模糊匹配普通模糊匹配给两个字符串打一个 0–100 的相似度分适合用户手滑打错字的场景。但很多业务里输入本身就带占位符商品搜索SKU-2026*表示后缀任意日志检索err#123中的#只是分隔噪声数据清洗用x标记任意字符fuzzball.js 的wildcards选项正是为此设计把指定字符声明为通配符在计算编辑距离时它可以匹配任意一个字符。 通配符支持是 fuzzball.js 相对 Python 版 fuzzywuzzy 的增强特性也是它在package.json关键词中特意列出的卖点。二、3 步启用 wildcard 选项最快上手方法⚡第 1 步安装npm install fuzzball第 2 步声明哪些字符是通配符const fuzz require(fuzzball); // * 和 x 都是通配符 const options { wildcards: *x };第 3 步正常调用任意评分函数即可fuzz.ratio(fuzzba*l, fuXxball, options); // 100核心规则只有一条options.wildcards字符串里的每个字符都会被当作通配符。通配符匹配规则详解规则行为单字符占位1 个通配符匹配 1 个任意字符不是任意多个大小写默认忽略大小写X与x都能触发通配关闭预处理full_process: false时大小写敏感仅完全相同的字符生效穿透预处理默认预处理会清除非字母数字字符但保留你声明的通配符// 通配符穿透预处理| 被清掉* 保留 fuzz.full_process(a|b*c, { wildcards: * }); // a b*c // 默认忽略大小写得分 100 fuzz.ratio(mr. h*rry hood, mr. h*rry Xood, { wildcards: ^*#x }); 注意选项名是复数wildcards对应类型定义可参考fuzzball.d.ts。三、结合 extract 实现通配符批量搜索 批量检索时把wildcards放进 options 即可它会自动传给 scorerconst choices [fuzzball.js, fuzz*b.js, fuzzywuzzy, fuzzlite.js]; fuzz.extract(fuzzball, choices, { scorer: fuzz.token_set_ratio, wildcards: *x }); // 返回 [[choice, score, index], ...]按分数降序小贴士配合cutoff过滤低分结果、limit限制返回条数returnObjects: true可拿到更易读的对象数组。四、自定义匹配规则scorer 与 processor fuzzball.js 的所有评分函数ratio/partial_ratio/token_set_ratio/WRatio…都只是可替换的评分器你可以随时换成自己的规则// 自定义 scorer性别必须一致名字再用模糊匹配打分 function myScorer(query, choice, options) { if (query.gender ! choice.gender) return 0; return fuzz.ratio(query.name, choice.name, options); } fuzz.extract(query, choices, { scorer: myScorer, wildcards: * });scorer接收 query 与 choice返回分数两边参数可以是任意类型通配符等 options 会原样传入processor候选项是对象时用它抽出参与比对的字段如choice choice.name多字段可直接拼接后评分token_set 系列 通配符token 集合运算同样感知通配符做预处理优化时记得给unique_tokens()传入相同 options此外fuzz.dedupe()也能带上wildcards做模糊去重适合清洗带占位符的重复数据。五、通配符常见限制与注意事项 ⚠️场景限制astral: true不支持通配符需要正确处理 emoji 等 BMP 外字符时留意ratio_alg: difflibdifflib 算法不支持通配符与 collationfuzzball_lite 版本体积更小但 token_set 的集合运算不感知通配符分数可能有偏差通配符选字别选 a、e 这类高频字符会让大量位置通配拉低区分度六、源码与文档速查 通配符版编辑距离算法实现lib/wildcardLeven.js普通版在lib/leven.js、lib/iLeven.js完整 API 文档jsdocs/fuzzball.mdREADME 中也有专门的 Wildcards 章节自动化测试用例test/test.js的describe(wildcards)部分覆盖了大小写、lite 版本等边界行为交互演示demo-app是一个 React 示例应用Wildcards 输入框可实时指定通配符并刷新各评分器得分见demo-app/src/containers/FilterableTable.js边改边看是最快的理解方式总结一行wildcards: *x声明任意评分函数即刻支持通配符模糊匹配默认忽略大小写、可穿透预处理单字符占位用scorer/processor编写自定义匹配规则留意astral、difflib、lite 版本下的使用限制掌握这 4 点你就拿下了 fuzzball.js 通配符模糊匹配的核心用法。【免费下载链接】fuzzball.jsEasy to use and powerful fuzzy string matching, port of fuzzywuzzy.项目地址: https://gitcode.com/gh_mirrors/fu/fuzzball.js创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

高效批量导入图数据:Bulbs Batch批处理操作完全教程

高效批量导入图数据:Bulbs Batch批处理操作完全教程

高效批量导入图数据:Bulbs Batch批处理操作完全教程 【免费下载链接】bulbs A Python persistence framework for graph databases like Neo4j, OrientDB and Titan. 项目地址: https://gitcode.com/gh_mirrors/bu/bulbs Bulbs 是一个面向 Neo4j、Rexster、T…

2026/8/25 9:21:08 阅读更多 →
以直播撬动招聘,云招聘让同城好岗“看得见、触得到”

以直播撬动招聘,云招聘让同城好岗“看得见、触得到”

近日,漳州市云招聘人力资源有限公司旗下核心品牌云招聘 获得国家商标局注册公告,创新发力直播招聘领域,以 “直播撬动招聘” 的全新模式,打破传统求职壁垒,真正让同城好岗 “看得见、触得到”,为企业与求职…

2026/8/25 9:21:08 阅读更多 →
JMeter非GUI压测:命令行模式核心原理与工程实践

JMeter非GUI压测:命令行模式核心原理与工程实践

1. 为什么非GUI模式是JMeter压测的真正起点JMeter不是点开图形界面、拖几个元件、点开始就能搞定的工具——那是Demo演示,不是生产压测。真正决定一次压测成败的,从来不是线程组里填的1000还是5000,而是你有没有在命令行里把jmeter -n这条命令…

2026/8/25 9:21:08 阅读更多 →

最新新闻

基于OpenClaw与OneBot协议构建QQ群AI智能体:从部署到技能调用的全流程实践

基于OpenClaw与OneBot协议构建QQ群AI智能体:从部署到技能调用的全流程实践

1. 项目概述:当OpenClaw遇见QQ,一个AI智能体的新舞台最近在折腾AI智能体,发现了一个挺有意思的开源项目叫OpenClaw,社区里也有人叫它“小龙虾”。这玩意儿本质上是一个AI智能体框架,你可以把它理解成一个“大脑”&…

2026/8/25 10:42:48 阅读更多 →
OpenClaw智能体框架与QQ机器人集成:构建AI驱动的社群自动化助手

OpenClaw智能体框架与QQ机器人集成:构建AI驱动的社群自动化助手

1. 项目概述:当OpenClaw遇见QQ机器人最近在折腾智能助手本地化部署的朋友,估计没少听说OpenClaw(小龙虾)这个名字。它本质上是一个开源的、可扩展的智能体(Agent)框架,核心目标是把大语言模型&a…

2026/8/25 10:42:48 阅读更多 →
一份契约描述30多种数据源:ODCS服务器配置实战(Kafka、Snowflake、PostgreSQL等)

一份契约描述30多种数据源:ODCS服务器配置实战(Kafka、Snowflake、PostgreSQL等)

一份契约描述30多种数据源:ODCS服务器配置实战(Kafka、Snowflake、PostgreSQL等) 【免费下载链接】open-data-contract-standard Home of the Open Data Contract Standard (ODCS). 项目地址: https://gitcode.com/gh_mirrors/op/open-data…

2026/8/25 10:42:48 阅读更多 →
Real-ESRGAN vs ESRGAN vs GFPGAN:3款主流AI图像超分工具横评与选型指南

Real-ESRGAN vs ESRGAN vs GFPGAN:3款主流AI图像超分工具横评与选型指南

Real-ESRGAN vs ESRGAN vs GFPGAN:3款主流AI图像超分工具横评与选型指南 【免费下载链接】Real-ESRGAN PyTorch implementation of Real-ESRGAN model 项目地址: https://gitcode.com/gh_mirrors/rea/Real-ESRGAN 想找一款好用的 AI图像超分 方案?…

2026/8/25 10:42:48 阅读更多 →
Mapbox React Examples 基础篇:用 useRef + useEffect 两步法在 React 中正确初始化并销毁 Mapbox 地图

Mapbox React Examples 基础篇:用 useRef + useEffect 两步法在 React 中正确初始化并销毁 Mapbox 地图

Mapbox React Examples 基础篇:用 useRef useEffect 两步法在 React 中正确初始化并销毁 Mapbox 地图 【免费下载链接】mapbox-react-examples Example patterns for building React apps with Mapbox GL JS 项目地址: https://gitcode.com/gh_mirrors/ma/mapbox…

2026/8/25 10:42:48 阅读更多 →
告别手写正则删注释:为什么strip-json-comments才是处理JSONC的唯一正确选择

告别手写正则删注释:为什么strip-json-comments才是处理JSONC的唯一正确选择

告别手写正则删注释:为什么strip-json-comments才是处理JSONC的唯一正确选择 【免费下载链接】strip-json-comments Strip comments from JSON. Lets you use comments in your JSON files! 项目地址: https://gitcode.com/gh_mirrors/st/strip-json-comments strip-jso…

2026/8/25 10:41:46 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →