我可能在想这是错误的方式。
生成的前三个(...)
可以是任意数字。我只想捕获这些第一组项目,并允许用户在其自定义字符串中使用()
。
(374003) (C6-96738) (WR183186) R1|SALOON|DEFECTIVE|WiFiInfotainment|Hardware detects WIFI but unable to log in on the (JAMIE HUTBER) internet.:
/\(([^)]+)\)/g
["(374003)", "(C6-96738)", "(WR183186)", "(JAMIE HUTBER)"]
["(374003)", "(C6-96738)", "(WR183186)"]
答案 0 :(得分:2)
您可以使用两种方法来做到这一点:
\(([^ )]+)\)
(https://regex101.com/r/ZPdq35/1/)添加空间答案 1 :(得分:0)
使用粘性选项/y
,然后可以使用regEx的功能来查找所有出现的情况。
如果JAMIE HUNTER
中没有空格等,这将起作用。
例如
const re = /\s*\(([^)]+)\)/y;
const str = "(374003) (C6-96738) (WR183186) R1|SALOON|DEFECTIVE|WiFiInfotainment|Hardware detects WIFI but unable to log in on the (JAMIE HUTBER) internet.:";
let m = re.exec(str);
while (m) {
console.log(m[1]);
m = re.exec(str);
}