ユーザーが入力したグルーヴィーなテキストに codemirror を使用しています。サーバーにフォームを送信する前に、すべての閉じた中括弧の後にセミカラムを追加したいと考えています。私が今やっている方法は次のとおりです。
editor.getValue().replace(/}/g,"};")
};
送信するテキストにまだ含まれていない場合、これは正常に機能します。};
置換する前に、この特定の文字列の組み合わせ ( ) を無視するように正規表現を拡張する方法はありますか?
ユーザーが入力したグルーヴィーなテキストに codemirror を使用しています。サーバーにフォームを送信する前に、すべての閉じた中括弧の後にセミカラムを追加したいと考えています。私が今やっている方法は次のとおりです。
editor.getValue().replace(/}/g,"};")
};
送信するテキストにまだ含まれていない場合、これは正常に機能します。};
置換する前に、この特定の文字列の組み合わせ ( ) を無視するように正規表現を拡張する方法はありますか?
これはうまくいくはずです:
"editor.getValue().replace(/}(?!;)/g,"};")".
}と;の間のスペースを考慮します。
"editor.getValue().replace(/}(?!\s*;)/g,"};")".
と一緒に行きます
editor.getValue().replace(/}/g, "};")
;
ただし、既にいくつかある場合に追加したくない場合は、
editor.getValue().replace(/}(?!;)/g, "};")
/}(?!;)/g
あなたのためにそれをするべきです。