王牌编辑器 - 多字突出显示规则



怕这将是一个非常挑剔的问题 - 我有一种感觉这是不可能的。

情况

我需要有一个文本区域,突出显示某些单词和短语(一些 css 效果)。以前我已经使用 editarea 工作了 - 但是由于它是一个死项目,出现了越来越多的问题,所以我正在尝试另一个更最新的编辑器 - Ace。

问题

目前有 ace 使用自定义模式很好地突出显示单个单词集,但是与正则表达式匹配的短语已被证明超出了我(到目前为止)。

相关的模式代码 - 如下所示:

var highlightWords = "word1|word2|word3|phrase one|phrase number two|etc";
 var keywordMapper = this.createKeywordMapper({
     "highlightWords": highlightWords
}, "identifier", true);
this.$rules = {
    "start" : [
    {
        token : keywordMapper,
        regex : "[a-zA-Z0-9_$][a-zA-Z0-9_$]*\b"
    },{
        token : "text",
        regex : "\s+"
    }]

我尝试匹配 2 个单词短语如下(没有奏效)(还尝试通过添加带有 {2} 的复制品等来匹配更长的条目)

regex : "[a-zA-Z0-9_$][a-zA-Z0-9_$]*(?:\s[a-zA-Z0-9_$][a-zA-Z0-9_$]*){1}\b"

有人有任何想法可以让 ace 工作 - 或者任何更简单的实时编辑单词和短语突出显示的替代方案?

您传递给关键字映射器的正则表达式与空格字符不匹配。

this.$rules = {
    "start" : [
    {
        token : "highlightWords",
        regex : "word1|word2|word3|phrase one|phrase number two|etc"
    }]
}

相关内容

  • 没有找到相关文章

最新更新