私は正規表現と、この正規表現に一致する文字列をいくつか持っています。私の正規表現は、このすべての一致を 1 つの大きな一致として処理します (もちろん、そのような動作は望ましくありません)。例を示します。
私のテスト文字列(走り書きで申し訳ありませんが、これは問題ではありません):
sdfsd -dsf- sdfsdfssdfsfdsfsd -sdfsdf-
jsコードでの私の正規表現:
view.replace(/(\-(.+)\-)/g, '<span style="background-color:yellow">$1</span>');
私の結果:
sdfsd<span style="background-color:yellow">-dsf- sdfsdfssdfsfdsfsd -sdfsdf-</span>
ご覧のとおり、"-" 内の各文字列はスパンで囲む必要がありますが、スパンは 1 つしかありません。どうすればこれを修正できますか? (正直なところ、(.+)正規表現部分を変更したくありません。これは問題になると思いますが、これを行う方法が他にない場合はお知らせください)。
つまり、結果は次のようになります。
sdfsd<span style="background-color:yellow">-dsf-</span> sdfsdfssdfsfdsfsd <span style="background-color:yellow">-sdfsdf-</span>
コメントでお気軽にお尋ねください。ご協力いただきありがとうございます。