文字列内のすべての%{string}
シーケンスをキャプチャする必要があります。 JSでregex101.com(https://regex101.com/r/aB2xL5/1を)上の文字列Lorem %{ipsum} dolor %{sit} amet adipiscing aenean %{consectetuer}
で正常に動作します /[^%]*(%{[^}]+})?/g
、 が、間違った:: var a='Lorem %{ipsum} dolor %{sit} amet adipiscing aenean %{consectetuer}'.match(/[^%]*(%{[^}]+})?/g);
私が間違っているのは何が正規表現を作成しています ?私は必要なものJavaScriptでの不規則なRegExpの動作
console.log(a); //['Lorem %{ipsum}', ' dolor %{sit}', ' amet adipiscing aenean %{consectetuer}', '']
: Input string: 'abc %{def} ghi %{jkl}' Output array: ['%{def}','%{jkl}']
最初のキャプチャグループにアクセスする必要があります – rock321987
文字列 "abc%{def} ghi%{jkl}"から配列(['%{def}'、 '%{jkl}')を取得する必要があります –
' input.match(/%\ {[^}] + \}/g); ' – Thomas