代码之家  ›  专栏  ›  技术社区  ›  Mystical

正则表达式匹配文本,后跟空格或完全不匹配

  •  1
  • Mystical  · 技术社区  · 6 年前

    我正在尝试将纯文本格式化为富JavaScript文本,下面是我的代码中突出显示的部分 示例关键字:

    var sampleKeywords = '(function|var|throw|return|class)\s';
    
    elem.innerHTML = elem.textContent.replace(new RegExp(sampleKeywords, 'g'), function(val) {
        return `<mark>${val}</mark>`;
    });
    

    上面的代码突出显示文本中出现的任何带有空格的示例关键字。 function123 .

    function 什么都没有。

    本质上,我想突出显示任何后跟空格或根本不后跟任何内容的示例关键字。

    如何在我的正则表达式模式中实现这一点?

    注: ; 不完整。

    1 回复  |  直到 6 年前
        1
  •  3
  •   melpomene    6 年前

    您的需求的直译将产生 (?=\s|$) (“后跟空格或字符串结尾”)。

    (?!\S)

    你可能还想调查一下 \b (词界): \bfoo\b foo 不在单词字符(如字母、数字或数字)之前或之后 _ ).