寻找匹配所有运算符的正则表达式:+ - */=> <> = <=&| %!^()

Mar*_*cks -4 javascript regex

有没有办法使用正则表达式来查看给定的字符串是否是上述运算符中的任何一个,而没有别的.例

var a = "3 + 2" //match fail
var b = ">=" //match pass
Run Code Online (Sandbox Code Playgroud)

regEx测试必须确认我的给定字符串是否只是上述运算符之一.它可能不是运营商和其他东西的组合.

是否只有运营商的标准regEx表达式?

小智 7

只是

/^(\+|-|\*|\/|=|>|<|>=|<=|&|\||%|!|\^|\(|\))$/
Run Code Online (Sandbox Code Playgroud)

或者,为了可读性和可维护性:

var ops = ['+', '-', '*', '/', '=', '<', '>', '<=', '>=', '&', '|', '^', '(', ')'];
var regexp = new RegExp(
    '^(' +
    ops.map(function(op) { return '\\' + op; }).join('|') +
    + ')$');
Run Code Online (Sandbox Code Playgroud)