これは非常にうるさい質問になると思いますが、残念ながら、それは不可能だと感じています。
状況
特定の単語やフレーズをハイライト (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 を機能させるためのアイデアや、ライブ編集で単語やフレーズをハイライト表示するためのより簡単な方法はありますか?