私はスペースで区切られた文字列の中に3回現れる数字にマッチする正規表現を作ろうとしています。しかし、私はどのように.match()メソッドとキャプチャグループの仕事を知りません。.matchとキャプチャグループはどのように連携しますか?
let repeatNum = "42 42 42";
let reRegex = /(\d+)\s\1/; // Change this line
let result = repeatNum.match(reRegex);
console.log(result);
結果は次のとおりです:この配列の最初の要素である理由
["42 42", "42"]
は、[OK]を私はちょっと理解して "42 42"
は、だから私は、次の持っています。
正規表現:
/(\d+)\s\1/
手段は、1つのまたはそれ以上の数とスペースを識別する。その単語をグループ#1に置き、グループ#1と同じスペースの後に別の単語を見つけてください。
私はこの正規表現がダブルワードの例でどのように動作するかを見てきました。しかし、私は同じ数字の3つ以上のためにどのように動作するのかわかりません?
EDIT:結果は42 42 42 42と同じであることがわかりました。今はもっと混乱しています。
私はあなたが尋ねるしようとしているのか理解していません。この投稿には何の疑問もありません。 – melpomene
この[投稿](https://stackoverflow.com/questions/432493/how-do-you-access-the-matched-groups-in-a-javascript-regular-expression)を確認してください。あなたはあなたが必要とするものを手に入れることがあります – Charles
T. J. Crowderは、あなたは文字列全体にマッチすると思っています。もし彼がそれについて間違っているなら、あなたは '" 542 42 429 "'のような文字列と一致しないようにする必要があります。 '\ b'はここで助けます:'/\ b(\ d +)\ s \ 1 \ s \ 1 \ b/' –