【发布时间】:2018-04-19 01:21:40
【问题描述】:
我对正则表达式不是很熟悉,我遇到了以下问题:
当运行 regExp 来拆分我的字符串时,我会得到很多 undefined 和 "" 以及结果。我已经尝试使用“(?:”,我在stackoverflow的另一个答案中看到了它以及许多其他东西。 然后我使用 array.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"",")"]
谢谢!
【问题讨论】:
-
你想达到什么目的?
-
我刚刚编辑了它:)
标签: javascript regex regex-group