Javascript Ace编辑器-多单词突出显示规则

Javascript Ace编辑器-多单词突出显示规则,javascript,regex,syntax-highlighting,highlighting,ace-editor,Javascript,Regex,Syntax Highlighting,Highlighting,Ace Editor,恐怕这将是一个非常挑剔的问题——我感觉这是不可能的 处境 我需要有一个文本区域与某些单词和短语的高亮度(一些css效果)。 以前我用editarea做过这项工作,但是因为它是一个死项目,所以出现了越来越多的问题,所以我正在尝试另一种更流行的编辑器-Ace 问题 目前,我使用自定义模式对单个单词集进行ace高亮显示,但与正则表达式匹配的短语已被证明超出了我的能力(到目前为止) 相关模式代码-如下所示: var highlightWords = "word1|word2|word3|phr

恐怕这将是一个非常挑剔的问题——我感觉这是不可能的

处境 我需要有一个文本区域与某些单词和短语的高亮度(一些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}等的铜片来匹配较长的条目)


有没有人有办法让ace正常工作?或者有没有更简单的方法来实时编辑单词和短语突出显示?

传递给keywordMapper的正则表达式与空格字符不匹配

使用


传递给keywordMapper的正则表达式与空格字符不匹配

使用


现在这很奇怪(/讨厌自己),因为插入同一个正则表达式是我尝试的第一个技巧之一——没有运气。然而,我刚刚又尝试了一次,我想我的其他一些代码一开始阻止了它的工作,因为它现在工作得非常完美。无论如何,我想问另一个问题——但这更像是一个插销,我无论如何都会问。我需要使regex不区分大小写-通常不是问题,只需添加I标志,但是它似乎被ace忽略/覆盖(或者我只是缺少了什么),当前代码:
regex:new RegExp(lower\u words\u regex,“gi”)
javascript不支持内联标志。但是,您可以在规则中添加
casesincensitive:true
标志,这似乎非常有效,干杯-也为我节省了一些时间,我刚刚开始对源代码进行深入研究,试图找到这一点。Thanks@a用户,非常感谢!现在这很奇怪(/讨厌自己),因为插入同一个正则表达式是我尝试的第一个技巧之一——没有运气。然而,我刚刚又尝试了一次,我想我的其他一些代码一开始阻止了它的工作,因为它现在工作得非常完美。无论如何,我想问另一个问题——但这更像是一个插销,我无论如何都会问。我需要使regex不区分大小写-通常不是问题,只需添加I标志,但是它似乎被ace忽略/覆盖(或者我只是缺少了什么),当前代码:
regex:new RegExp(lower\u words\u regex,“gi”)
javascript不支持内联标志。但是,您可以在规则中添加
casesincensitive:true
标志,这似乎非常有效,干杯-也为我节省了一些时间,我刚刚开始对源代码进行深入研究,试图找到这一点。Thanks@a用户,非常感谢!
regex : "[a-zA-Z0-9_$][a-zA-Z0-9_$]*(?:\\s[a-zA-Z0-9_$][a-zA-Z0-9_$]*){1}\\b"
this.$rules = {
    "start" : [
    {
        token : "highlightWords",
        regex : "word1|word2|word3|phrase one|phrase number two|etc"
    }]
}