c# - JavaScript regex construction -
to test mathematical operator (*, /, +, -) exists in following items:
13*4 7+8 -15/3 7-5
i have following regex javascript:
/[\*\+/\-]/
the problem regex identify negative sign in -15/3
operator. how make not match on first character in string?
you can match regex this:
one or more digits (also allowing decimal) followed optional whitespace followed operator followed optional whitespace followed 1 or more digits (also allowing decimal)
and reference captured group in middle operator:
/[\d.]+\s*([*+\-\/])\s*[\d.]+/
sample code:
var match = str.match(/[\d.]+\s*([*+\-\/])\s*[\d.]+/); if (match) { var operator = match[1]; }
working demo , test code: http://jsfiddle.net/jfriend00/dgrsg/
if want allow more digits before operators (such other expressions), have lot more simple or complex regex. answer assumes you're trying solve examples you've presented.
Comments
Post a Comment