簡體   English   中英

Ace編輯器-多詞突出顯示規則

[英]Ace Editor - multiple word highlight rule

恐怕這將是一個非常挑剔的問題-我感到這將是不可能的。

情況

我需要使用某些單詞和短語的高亮文本區域(某些CSS效果)。 以前,我已經在editarea上使用它了-但是由於它是一個死項目,所以出現了越來越多的問題,因此我正在嘗試使用另一種最新的編輯器-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正常工作的想法-或實時編輯單詞和短語突出顯示的任何更簡單的選擇?

您傳遞給keywordMapper的正則表達式與空格字符不匹配。

采用

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM