const regex = /^\( (.*)(\([A-Za-z0-9,\-]+\))_(.*) - (Google Chrome|Internet Explorer)\)/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^\\( (.*)(\\([A-Za-z0-9,\\-]+\\))_(.*) - (Google Chrome|Internet Explorer)\\)', 'gm')
const str = `( 终端知识库 - Google Chrome)
( 荣耀盒子Pro_电视画面显示不满屏、比例失调或超出屏幕显示区域怎么办? - Google Chrome)
( 多屏互动是什么功能?不同手机如何与盒子进行多屏互动? - Google Chrome)
( 【维修配件价格查询】 - 华为服务与支持 - 华为手机官网 - Google Chrome)
( 华为消费者业务官网-服务与支持 - Google Chrome)
( M2是否支持皮套模式,怎么开启皮套模式 - Google Chrome)
( 荣耀X2(GEM-703L,GEM-703LT)_为什么设置里面有两个IMEI? - Internet Explorer)
( 荣耀6(H60-L01)_电池无法正常充电,如何解决? - Internet Explorer)`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions