我对正则表达式不是很熟悉,我有以下问题:
当运行regExp分割字符串时,我会得到许多未定义的和“”以及结果。我已经尝试过使用“(?:”,我在stackoverflow和其他很多东西中看到了另一个答案。
然后我使用数组。filter函数来删除它们,但我不想这样做。有人能帮我吗?(并向我解释为什么会发生这种情况)。
let values = line.split(/(\!=)|(<=)|(>=)|(==)|(\/\/)|(\/\*)|(\*\/)|(")|(=)|(<)|(>)|(\+)|(-)|(\*)|(\\)|(\()|(\))|;| /g);
return values.filter(value => {
return value !== undefined && value !== "";
});
可以使用的字符串:
"int x = 7;" => ["int","x","=","7",";"]
"int x = 7 + 25 * 52" => ["int","x","=","7","+","25","*","52"]
"while( x != 0)" => ["while","(","x","!=","0",")"]
'if(idade > 70 && sexo == "masculino")'
=> ["if","(","idade",">","70","&&","sexo","==",""masculino"",")"]
谢谢