沩ん囻菔务

文章 评论 浏览 30

沩ん囻菔务 2022-05-04 13:55:50
export function addMark(q, val) {
    if (/^[ws+-]+$/.test(q)) {
        let reg = q;
        if (/(s-|-s)+[^s-]/.test(q)) {
            reg = q.split(/(s-|-s)/)[0];
        } else if (/[s+]+[^s+]/.test(q)) {
            reg = q.replace(/([s+]+)/, '|');
        }
        reg = new RegExp(`(${reg})`,'igm');
        return val.replace(reg,`<b>$1</b>`)
    } else {
        return val.replace(q,`<b>${q}</b>`)
    }
}

个人网站在我看到此题前实现了一个,为纯英文时,需要注意不区分大小写.返回值通过vue v-html渲染
搜索支持简单布尔运算

  • key1 key2: 搜索包含key1或key2的条目
  • key1 + key2: 搜索即包含key1又包含key2的条目
  • key1 - key2: 搜索只包含key1不包含key2的条目

第 90 题:实现模糊搜索结果的关键词高亮显示

更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文