設定した特定のマークアップを確認する必要があるフォームの入力フィールドがあります。
区切り文字は{!
、}
です。
区切り文字内にあるすべてのものと一致させたいと思います。
content = /regex/g.exec('{!content}')
さらに、入力文字列に複数のマークアップを含めることができます。
input = '{!content} {!other}';
['content','other'] = /regex/g.exec('{!content} {!other}')
これは問題の最初の部分ですが、今では楽しい部分になります。
また、特定のマークアップ区切り文字が正しく終了していない場合もあり、それらもチェックする必要があります。
この場合、私は取得したいと思います:
input = '{!content {!other} {!broken';
['{!content', 'other', '{!broken'] = /regex/g.exec(input);
Update *は、@MikeMの元のソリューションが私が望むものをキャプチャしていないケースを発見しました。開始区切り文字がそれ自体である場合、結果配列に表示する必要があります。開始区切り文字が文字列の最後にある場合、キャプチャされません。
input = '{!content {!other} {!';
['{!content', 'other', '{!'] = /regex/g.exec(input);