正则表达式字符串拆分为多个条件

Regex string split with multiple conditions

(Javascript 旧版本 Node.js)

编辑我必须清理我想要的东西。

我有多条这样的线

var name1;

CONST    name2

   Let  nam;

leT     nam

  VAr n1  ;

我想要的输出是

name1

name2

nam

nam

n1

所以我正在尝试这样的代码。

/[^;]*/

但我需要帮助,因为我有多种模式。有些变量名后面可能有semicolons/space/null,我需要省略那些。

使用regexp = /name[1-9]+/g

let arr = ['var person;', 'CONST    name2', '   Let  nam;', '  VAr n1  ;'];
var result = [];
for(var s of arr) {
    var split_array = s.replace(/  +/g, ' ').trim().split(' ');
    result.push(split_array[1].replace(';', ''))
}
console.log(result);

使用/(?<=(var\s+)|(let\s+)|(const\s+))(\w+)/gim

let data = `
var name1;

CONST    name2

   Let  nam;

leT     nam

  VAr n1  ;
`;
data = data.match(/(?<=(var\s+)|(let\s+)|(const\s+))(\w+)/gim);
console.log(data); // [ 'name1', 'name2', 'nam', 'nam', 'n1' ]