Purpose:Evaluate an expression and display the result on STDOUT

 

Format:EXPR string : regex        Returns position of regular expression regex in string
EXPR match string regex        Same as string : regex
EXPR substr string pos len        Substring of string, pos starts at 1
EXPR index string chars        Index in string (first character is 1) where anything in chars is found, or 0 if nothing matches
EXPR length string        Length of string
 
arg1 [operator] arg2...        This can be any arithmetic expression supported by @EVAL, or any conditional expression supported by IF  /IFF.

 

See also: Conditional expressions, IFF, @IF.

 

Usage:

 

EXPR evaluates integer or string expressions, including pattern matching regular expressions. 

 

If you have special characters (i.e., < > & |) on the line you must either enclose the entire expression in double quotes (EXPR will remove them before evaluating the expression) or escape them.

 

The regular expression match is always anchored (i.e., there is an implied leading ^). If the regular expression contains (), and it matches at least part of stringEXPR returns that part of string; if there is no match, EXPR results in 0. If the regular expression doesn't contain (..), the result is the number of characters matched. MATCH performs the same operation as the colon operator.

 

Examples:

 

expr text : tex

3

 

expr text : (.*)

text