2016-02-07 45 views
0

我试图用正则表达式匹配部分代码。我如何匹配var,a,=,2和; from匹配部分代码

"var a = 2;" 

+1

什么是你正在试图解决这个问题,因为这似乎令人难以置信的投机性(尤其是*似乎你*不要给出确定你想问什么)?请参阅元问题:“[什么是XY问题?](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)” –

+1

你尝试了什么? '\ S +' – Enissay

+0

你想匹配这个'var a = 2;'?它是脚本还是字符串的一部分? – kanudo

回答

1

我相信你想这个正则表达式:/\S+/g

进行分解:\S选择所有非空白字符,+确保你它一起选择多个非空白字符(即'var'), 和'g'标志确保它选择全部的出现次数该字符串,而不是停在第一个默认行为。

这是一个有用的链接,玩耍,直到你找到正确的正则表达式:https://regex101.com/#javascript

+0

关闭。再看一遍,它匹配2和;一起。 –

+0

这将有助于准确理解你想在这里实现的内容,但如果你想要的是单独匹配每个部分,那么这将做到:'/(\ w + | [=;])/ g'。如果您还想识别其他单独的操作员,可以将它们添加到括号内。 – pedrotp

+0

这个工作? ^^^ – pedrotp

0
var str = "var a = 2;"; 

// clean the duplicate whitespaces 
var no_duplicate_whitespace = str.replace(new RegExp("\\s+", "g"), " "); 

// and split by space 
var tokens = no_duplicate_whitespace.split(" "); 

或者作为@kuujinbo指出:

str.split(/\s+/); 
+0

'str.split(/ \ s + /);' – kuujinbo