Problème avec les QRegExp
Salut.
Comment pourais-je m'exprimer en utilisant les QRegExp pour dire :"Pour une chaîne donnée, je dois vérifier qu'elle ne contient pas certains caractères"?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| if(source.contains(QRegExp("[a-zA-Z0-9:=<>/\\+\\-\\*]")))
{
source.replace(QRegExp("[a-zA-Z][a-zA-Z0-9]*"), "IDENT |");
source.replace(QRegExp("[0-9]+"), "NBR |");
source.replace(QRegExp("\\+|\\-|\\*|/"), "OPER_AR |");
source.replace(QRegExp(":="), "AFFECT |");
source.replace(QRegExp("<="), "INFE |");
source.replace(QRegExp(">="), "SUPE |");
source.replace(QRegExp("<>"), "DIFF |");
source.replace(QRegExp("<"), "INF |");
source.replace(QRegExp(">"), "SUP |");
source.replace(QRegExp("="), "EGAL |");
source.replace(QRegExp(" "), "");
visio->setPlainText(source);
}
else QMessageBox::critical(this,"Erreur","Ce modèle ne correspond à aucun des modèles reconnus !"); |
Note: si l'utilisateur entre par exemple la séquence:"blabla!", la fonction ne me rendra pas l'erreur même si le "!" n'est pas reconnu dans une de mes remplacements, or que si il entre seulement le "!" , l'erreur s'affiche !
On comprend quoi?
Grosso modo : ce que j'essaie de faire c'est de renvoyer une erreur si à un moment donné l'utilisateur nous fait entrer un symbol à le quel on fait pas de remplacement (un symbol non reconnu).
Merci bien.