次のコードは、 "cat"と "car"の両方の文字列に一致する正規表現を作成しようとしました。最初の一致後に正規表現が進まない
(function(){
console.log(/(ca(t|r))+?/.exec(["cat", "car", "catcoon"]));
})()
この方法は "T" または "R" のいずれかになり、最初に一致したことになる "CA"。それは(+)でラップされます?複数の一致が可能です。 しかし、コンソールには最初の一致後にスタックされていることを示す["cat", "cat", "t"]
が表示されます。
結果をループする必要があります。 'exec'は呼び出しごとに1つの一致を返します。それに関する文書を読んでください。 – trincot
あなたはああ答えが必要ですか? – prasanth