我正在使用Javascript正则表达式函数来分割表达式,如:
var1=32
var2<var4
var1!=var3
Run Code Online (Sandbox Code Playgroud)
我正在使用这个正则表达式:
/^(.*)([=|!=|<|>])(.*)$/ig
Run Code Online (Sandbox Code Playgroud)
除了使用!=(不同)运算符之外,它的效果非常好.有什么问题?
问题是您使用的是字符类而不是替换.表达式[=|!=|<|>]相当于[<>=!|].删除[并]获得您想要的内容.
/^(.*?)(!=|=|<|>)(.*)$/ig
Run Code Online (Sandbox Code Playgroud)
我还将第一个(.*)更改为非贪婪,以便它不会消耗!in !=.如果您知道左侧和右侧表达式将始终仅包含(例如)仅字母数字字符,则最好指定它而不是与点匹配.