使用RegExp从字符串中检索BSR和类别

时间:2016-08-12 16:15:24

标签: javascript regex

当我解析亚马逊产品时,我得到了这样的字符串。

"#19 in Home Improvements (See top 100)"

我想了解如何检索 BSR号,即/#\d*/ 但不知道如何检索in之后的类别,直到方括号(See top 100)结束。

1 个答案:

答案 0 :(得分:1)

我建议

#(\d+)\s+in\s+([^(]+?)\s*\(

请参阅regex demo

var re = /#(\d+)\s+in\s+([^(]+?)\s*\(/; 
var str = '#19 in Home Improvements (See top 100)';
var m = re.exec(str);
if (m) {
  console.log(m[1]);
  console.log(m[2]);
}

模式详情

  • # - 哈希
  • (\d+) - 第1组捕获1个或多个数字
  • \s+in\s+ - in附有一个或多个空格
  • ([^(]+?) - 第2组在第一个之前尽可能少地捕获1个或多个除(之外的字符...
  • \s*\( - 0+空格和文字(