2

javascript でテキスト入力フィールドを作成しています。しかし、それはむしろテキスト エディタに似ており、何百ページにも及ぶ膨大なドキュメントを含む可能性があります。ユーザーがこのテキストのどこにでも移動して変更を加え、特定の正規表現のセットに一致する用語を強調表示できるようにする必要があります。現時点では、私が持っているものは次のとおりです。

var regexes = {
    thing_A: /\>(.*?)(?:(?!(\s|$)).)*/,
    thing_B: /\#(.*?)(?:(?!(\s|$)).)*/,
    thing_C: /@(.*?)(?:(?!(\s|$)).)*/,
    whitespace: /\s+/,
    other: /\S+/,
};

そして、キープレスで実行されるコードがあります。スペースバーであるキー「32」をチェックします。スペースバーを押すと、正規表現に参加してドキュメントを検索します。これは少量のテキストでは問題なく機能しますが、大量のテキストではかなり負担になります。最後の段落をチェックすることもできますが、誰かがテキストの途中に戻って何かを変更した場合は、それも追跡する必要があります。

より良い方法はありますか?

4

1 に答える 1

0

これを試しましたか?

var regexes = {
    thing_X: /[>#@](.*?)(?:(?!(\s|$)).)*/,
    whitespace: /\s+/,
    other: /\S+/,
};
于 2013-10-04T11:41:04.217 に答える