正则表达式只显示一个大小

时间:2017-07-16 03:04:04

标签: javascript node.js regex

我正在尝试使用正则表达式来显示网站上可用的尺寸,但我只想显示“Size x”,x是数字。我该怎么做呢?这就是它的产生:

[ '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);
        });
    }

1 个答案:

答案 0 :(得分: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