次の入力文字列では:
{$foo}foo bar \\{$blah1}oh{$blah2} even more{$blah3} but not{$blarg}{$why_not_me}
{$SOMETHING_HERE}
エスケープされていないバックスラッシュが前にないすべてのインスタンスに一致させようとしています。
例:
一致させたいのですが、そうで{$SOMETHING}
はありません\{$SOMETHING}
。
でも合わせたい\\{$SOMETHING}
試み:
これまでの私の試みはすべて、タグが隣り合っていることを除いて、私が望むものと一致します{$SOMETHING}{$SOMETHING_ELSE}
これが私が現在持っているものです:
var input = '{$foo}foo bar \\{$blah1}oh{$blah2} even more{$blah3} but not{$blarg}{$why_not_me}';
var results = input.match(/(?:[^\\]|^)\{\$[a-zA-Z_][a-zA-Z0-9_]*\}/g);
console.log(results);
どの出力:
["{$foo}", "h{$blah2}", "e{$blah3}", "t{$blarg}"]
ゴール
私はそれが欲しい:
["{$foo}", "{$blah2}", "{$blah3}", "{$blarg}", "{$why_not_me}"]
質問
誰かが私を正しい方向に向けることができますか?