j'ai une autreinterrogation au sujet des regex
le ! signifie la negation n'est pas
'![A-Za-z \\n]+\(!'
ca me parait bizare.
Concernant ton code je suis entrain de l'etudier
Si tu persistes dans cette voie (ce dont je n'arrive pas à comprendre l'intérêt, mais c'est surtout à ton prof qu'il faudrait poser cette question), il va te falloir sérieusement bûcher les regexp. Dans cette expression régulière :
- Le ! est le caractère délimiteur (puisqu'on parle de regexp en syntaxe perl, il est nécessaire). Il marque simplement le début et la fin de la regexp.
- La partie entre crochets [ ] est une classe de caractères suivie d'un quantifieur ( + ). On lit l'ensemble comme
toute suite de un ou + caractère(s) qui peu(vent)t être une lettre majuscule ou minuscule, un espacement ou bien un retour à la ligne. Les tirets ( - ) servent à définir une plage de caractères (entre A et Z par exemple pour toutes les lettres capitales)
- La classe de caractères doit être suivie (bornée) par une parenthèse ouvrante. On l'échappe avec \ car ce caractère a aussi une signification dans le langage particulier des regexp, hors là on s'en sert de manière littérale.