#!/bin/bash regex="^([[:alpha:][:blank:]]*)- ([[:digit:]]*) - ([[:alpha:]]?)(.*)jpg$" # ou regex="^([[:alpha:][:blank:]]*)- ([[:digit:]]*) - ([[:alpha:]]?)(.*)[a-z]{3}$" #ou encore regex="^([[:alpha:][:blank:]]*)- ([[:digit:]]*) - ([[:alpha:]]?)(.*)[a-z]\3$" var="image linux - 01 - pingouin.jpg" if [[ $var =~ $regex ]] then echo "Le nom de l'image correspond à l'expression rationnelle." else echo "mauvaise regex" fi