| Purpose : | Evaluer une expression et afficher le résultat sur STDOUT |
| Format : | EXPR string : regex Correspondance d'une expressionrégulière avec une chaîne de caractères |
| EXPR match string regex Identique à chaîne : regex |
| EXPR substr string pos len Sous-chaîne de la chaîne, pos commence à 1 |
| EXPR index string chars Index dans la chaîne (le premier caractère est 1) où l'on trouve quelque chose dans les caractères, ou 0 si rien ne correspond. |
| EXPR length string Longueur de la chaîne |
| arg1 [operator] arg2... Il peut s'agir de n'importe quelle expression arithmétique prise en charge par @EVAL, ou de n'importe quelle expression conditionnelle prise en charge par IF /IFF. |
Voir aussi : Expressions conditionnelles, IFF, @IF.
Utilisation :
EXPR évalue les expressions de nombres entiers ou de chaînes de caractères, y compris les expressions régulières de correspondance de motifs. EXPR développe les variables de la ligne de commande avant d'évaluer l'expression, à moins qu'elles ne soient échappées ou mises entre guillemets.
Si vous avez des caractères spéciaux (par exemple, < > & |) sur la ligne, vous devez soit mettre toute l'expression entre guillemets (EXPR les supprimera avant d'évaluer l'expression), soit les échapper.
La correspondance d'une expression régulière est toujours ancrée (c'est-à-dire qu'il y a un ^implicite en tête ). Si l'expression régulière contient (...) et qu'elle correspond à au moins une partie de la chaîne, EXPR renvoie cette partie de la chaîne; s'il n'y a pas de correspondance, EXPR renvoie 0. Si l'expression régulière ne contient pas (...), le résultat est le nombre de caractères correspondant. MATCH effectue la même opération que l'opérateur deux-points.
Exemples :
expr text : tex
3
expr text : (.*)
text
expr 5 + 3 +1
9
expr length hello
5
expr index hello l
3
expr substr hello 2 3
ell