特定のグループを文字列でキャプチャするための簡単なコードを作成しました。
/[a-z]+([0-9]+)[a-z]+/gi    (n chars , m digts , k chars).
コード:
var myString='aaa111bbb222ccc333ddd';
var myRegexp=/[a-z]+([0-9]+)[a-z]+/gi;
var match=myRegexp.exec(myString);
console.log(match)
 
 while (match != null)
{
  match = myRegexp.exec(myString);
  console.log(match)
}
結果は次のとおりです。
["aaa111bbb", "111"]
["ccc333ddd", "333"]
null
bbb222cccしかし、ちょっと待ってください、なぜ彼はその部分を試さなかったのですか?
つまり、それは見ましたaaa111bbbが、それなら彼は試してみるべきでしたbbb222ccc...(それは貪欲です!)
私は何が欠けていますか?
また
見つめている
   while (match != null)
    {
      match = myRegexp.exec(myString);
      console.log(match)
    }
2番目の結果までどのように進みましたか? 最初はありました:
var match=myRegexp.exec(myString);
後で (while ループで)
match=myRegexp.exec(myString);
match=myRegexp.exec(myString);
それは同じ行です...最初の結果がすでに表示されていることをどこで覚えていますか?