All operators are separate arguments to the expr utility. Characters special to the command interpreter must be escaped.
Operators are listed below in order of increasing precedence. Operators with equal precedence are grouped within { } symbols.
perlre.
If the match succeeds and the pattern contains at least one regu- lar expression subexpression ``(...)'', the string correspond- ing to ``$1'' is returned; otherwise the matching operator re- turns the number of characters matched. If the match fails and the pattern contains a regular expression subexpression the null string is returned; otherwise 0.
Parentheses are used for grouping in the usual manner.
a=`expr $a + 1`
expr //$a : '.*/\(.*\)'
expr $a : '.*'
0 the expression is neither an empty string nor 0. 1 the expression is an empty string or 0. 2 the expression is invalid.