【发布时间】:2019-01-29 08:47:05
【问题描述】:
我正在尝试将纯文本格式化为富 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 之类的输入,后面没有任何内容。
基本上,我想突出显示任何示例关键字,后跟空格或根本不后跟任何内容。
如何在我的正则表达式模式中实现这一点?
注意:我知道我的代码存在明显缺陷,例如突出显示引用的文本或没有突出显示每个可用的 JavaScript 关键字,但上面提供的代码只是抽象 ;不完整。
【问题讨论】:
-
This is to prevent highlighting input such as "not_a_function"但not_a_出现在之前,而不是之后?您是否要检查文本是否在 和 之后是空格或什么都没有? -
@CertainPerformance 同意。如前所述,代码包含一些缺陷。这里的重点是检测文本后跟空格或什么都没有。
-
我还将示例输入从
not_a_function更改为function123以避免混淆。
标签: javascript regex