2017-07-16 10 views
1

正規表現を使用してウェブサイトで表示できるサイズを表示しようとしていますが、数字は「Size x」と表示したいだけです。これをどうやってやりますか?ここで 正規表現では多くのサイズが1つだけ表示されます

[ 'title="Select Size 6"', 
    'title="Select Size 7"', 
    'title="Select Size 7.5"', 
    'title="Select Size 8"', 
    'title="Select Size 8.5"', 
    'title="Select Size 9"', 
    'title="Select Size 9.5"', 
    'title="Select Size 10"', 
    'title="Select Size 10.5"', 
    'title="Select Size 11"', 
    'title="Select Size 11.5"', 
    'title="Select Size 12"', 
    'title="Select Size 13"' ] 

は、関数のコードです:生産何である

function firstShoe() { 
     var options = { 
      headers: {'user-agent': 'node.js'} 
     } 
     request('https://www.jdsports.co.uk/product/green-nike-vapormax/281735/', options, function (error, response, body) { 
      var sizes = body.match(/title="Select Size [0-9]*.?[0-9]*"/g); //try error 
      console.log(sizes); 
     }); 
    } 

答えて

0

あなたは、あなたが使用することができ、あなたの現在のマッチの正規表現を維持したい場合はgrouping

> const reg = new RegExp(/title="Select (Size [0-9]*.?[0-9]*)"/g); 
> let result; 
> while ((result = reg.exec(body)) !== null) { console.log(result[1]); } 
Size 6 
Size 7 
Size 7.5 
Size 8 
Size 8.5 
Size 9 
Size 9.5 
Size 10 
Size 10.5 
Size 11 
Size 11.5 
Size 12 
Size 13 
+0

方法個別に印刷するのではなく、アレイ全体を記録するだけですか? – hsel

+0

配列を作成し、whileループの本体の配列に 'push 'する必要があります。 –

関連する問題