regex - expr match problem in shell -


in sh shell script wrote following:

opr=+   echo `expr match "$opr" '[+\-x/]'`   

but error when ran:

expr: syntax error   

what doing wrong? same error when make opr equal - , / .

another interesting thing found when wrote this:

opr=a   echo `expr match "$opr" '[+\-x/]'`   

it returns this:

1   

this means matched string "a" 1 of +, -, x, , /. makes no sense!

first case: +

+ has special meaning expr:

   + token           interpret token string, if           keyword `match' or operator `/' 

second case: a

your regexp range operation, matching characters + x, includes alnums. make - matched literally in charclass, must first or last character; backslashing doesn't work.


Comments

Popular posts from this blog

linux - Using a Cron Job to check if my mod_wsgi / apache server is running and restart -

actionscript 3 - TweenLite does not work with object -

jQuery Ajax Render Fragments OR Whole Page -