在正则表达式中拆分变量值

Iva*_*van 2 javascript regex

我正在使用Javascript正则表达式函数来分割表达式,如:

var1=32
var2<var4
var1!=var3
Run Code Online (Sandbox Code Playgroud)

我正在使用这个正则表达式:

/^(.*)([=|!=|<|>])(.*)$/ig
Run Code Online (Sandbox Code Playgroud)

除了使用!=(不同)运算符之外,它的效果非常好.有什么问题?

Mar*_*ers 6

问题是您使用的是字符类而不是替换.表达式[=|!=|<|>]相当于[<>=!|].删除[]获得您想要的内容.

/^(.*?)(!=|=|<|>)(.*)$/ig
Run Code Online (Sandbox Code Playgroud)

我还将第一个(.*)更改为非贪婪,以便它不会消耗!in !=.如果您知道左侧和右侧表达式将始终仅包含(例如)仅字母数字字符,则最好指定它而不是与点匹配.