有没有办法使用正则表达式来查看给定字符串是否是上述运算符中的任何一个,而没有别的。示例
var a = "3 + 2" //match fail
var b = ">=" //match pass
regEx测试必须确认我的给定字符串是否只是上述运算符之一。它可能不是运营商和其他东西的组合。
是否只有运营商的标准regEx表达式?
答案 0 :(得分:6)
只需
/^(\+|-|\*|\/|=|>|<|>=|<=|&|\||%|!|\^|\(|\))$/
或者,为了可读性和可维护性:
var ops = ['+', '-', '*', '/', '=', '<', '>', '<=', '>=', '&', '|', '^', '(', ')'];
var regexp = new RegExp(
'^(' +
ops.map(function(op) { return '\\' + op; }).join('|') +
+ ')$');
答案 1 :(得分:3)