2011-09-25 73 views
2

我使用Javascript正則表達式的功能分裂般的表情:拆分變量值

var1=32 
var2<var4 
var1!=var3 

我使用這個正則表達式:

/^(.*)([=|!=|<|>])(.*)$/ig 

它工作得很好,除了與!=(不同)運營商。有什麼問題?

+0

'[]'表示一個字符類,這意味着表達式的這一部分與'[= |!<>]'基本相同。 –

回答

6

問題是您正在使用character class而不是alternation。表達式[=|!=|<|>]相當於[<>=!|]。刪除[]以得到你想要的。

/^(.*?)(!=|=|<|>)(.*)$/ig 

我也改變了第一(。*)是非貪婪,使其不!=消耗!。如果您知道左側和右側表達式總是隻包含(例如)僅包含字母數字字符,則最好指定該表達式而不是與點匹配。