#!/bin/bash

echo
echo "Opérations avec des chaînes utilisant la construction \"expr \$string : \"
echo "======================================================================="
echo

a=1234zipper5FLIPPER43231

echo "La chaîne en cours est     \"`expr "$a" : '\(.*\)'`\"."
# Parenthèses échappées groupant l'opérateur.    ==  ==

#       *********************************
#+          Les parenthèses échappées
#+       correspondent à une sous-chaîne.
#       *********************************


#  Si les parenthèses ne sont pas échappées...
#+ alors 'expr' convertit la chaîne en un entier.

echo "La taille de \"$a\" est `expr "$a" : '.*'`."   # Taille de la chaîne

echo "Le nombre de chiffre au début de \"$a\" est `expr "$a" : '[0-9]*'`."

# ------------------------------------------------------------------------- #

echo

echo "Les chiffres au début de \"$a\" sont `expr "$a" : '\([0-9]*\)'`."
#                                                             ==      ==
echo "Les sept premières lettres de \"$a\" sont `expr "$a" : '\(.......\)'`."
#           =========                                      ==       ==
# Encore, les parenthèses échappées forcent une correspondance de sous-chaîne
#
echo "Les sept dernières lettres de \"$a\" sont `expr "$a" : '.*\(.......\)'`."
#           =========           fin de l'opérateur chaîne  ^^
#  (en fait, ça signifie qu'il saute un ou plus jusqu'à une sous-chaîne
#+  spécifiée)

echo

exit 0
