当我解析亚马逊产品时,我得到了这样的字符串。
"#19 in Home Improvements (See top 100)"
我想了解如何检索 BSR号,即/#\d*/
但不知道如何检索in
之后的类别,直到方括号(See top 100)
结束。
答案 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+空格和文字(
。