DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des chaînes
  • Caractère d'échappement
  • Caractères spéciaux
  • Utiliser une condition dans une expression régulière
  • Assistant de la fonction VérifieExpressionRégulière
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Avertissement
A partir de la version 27, cette fonction est conservée par compatibilité. Il est recommandé d'utiliser la fonction RegexVérifie, qui utilise la grammaire ECMAScript pour les expressions régulières.
Vérifie si une chaîne de caractères correspond à un format spécifique et récupère les différentes sous-chaînes constituant le format. Un assistant dans l'éditeur de code permet de créer simplement le format à vérifier.
WEBDEV - Code Navigateur La fonction VérifieExpressionRégulière utilise la syntaxe des expressions régulières disponible en Javascript.
Exemple
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppAndroidWidget AndroidJavaCode Utilisateur (MCU)PHPAjax
// Vérification d'une adresse email 
SI VérifieExpressionRégulière(MonEmail, "[-.a-z0-9]+[@][-.a-z0-9]+[.][a-z]{2,4}") = Vrai ALORS
// "[-.a-z0-9]+" : chaîne de 1 ou de plusieurs caractères
// Cette chaîne peut contenir les lettres 'a' Ã  'z',
// les chiffres '0' Ã  '9', et les symboles '-' et '.'
// [.] indique que ce caractère doit correspondre Ã  un point. 
// "[a-z]{2,4}" : chaîne contenant 2, 3 ou 4 caractères
// Cette chaîne peut contenir les lettres 'a' Ã  'z'
Info("L'adresse email : " + MonEmail + " est correcte.")
FIN
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppCode Utilisateur (MCU)PHPAjax
// Extraction des différents Ã©léments d'une date
// au format JJ/MM/AAAA (par exemple : 28/03/2003)
MaDate est une chaîne = "28/03/2003"
MonJour, MonMois, MonAnnée sont des chaînes
SI VérifieExpressionRégulière(MaDate, "([0-9]+)/([0-9]+)/([0-9]+)", ...
MonJour, MonMois, MonAnnée) = Vrai ALORS
Trace(MonJour, MonMois, MonAnnée)
SINON
Erreur("La date n'est pas au bon format")
FIN
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppCode Utilisateur (MCU)PHPAjax
// Variables d'extraction
UnJour est une chaîne
UnMois est une chaîne
UneAnnée est une chaîne
UneHeure est une chaîne
DateAVérifier est une chaîne = "Tue, 11 Apr 2006 18:25:09 +0200"
SI VérifieExpressionRégulière(DateAVérifier, ...
"[A-Za-z]{3,3}[,] ([0-9]{1,2}) ([A-Za-z]{3,3}) "+...
"([0-9]{4,4}) ([0-9]{2,2}[:][0-9]{2,2}[:][0-9]{2,2}) [\+][0-9]{4,4}", ...
UnJour, UnMois, UneAnnée, UneHeure) = Faux ALORS
Info("Date incorrecte")
SINON
Info("Date correcte", "Jour : " + UnJour, "Mois :" + UnMois, "Année : " + UneAnnée, ...
"Heure : " + UneHeure)
FIN
Syntaxe

Vérifier un format Masquer les détails

<Résultat> = VérifieExpressionRégulière(<Elément à vérifier> , <Expression régulière>)
<Résultat> : Booléen
  • Vrai si la chaîne vérifie le format indiqué,
  • Faux si la chaîne ne vérifie pas le format.
<Elément à vérifier> : Chaîne de caractères
Chaîne de caractères à vérifier. Cette chaîne de caractères doit être en caractères latin.
<Expression régulière> : Chaîne de caractères
Format de référence, exprimé sous forme d'une expression régulière. Cette chaîne de caractères doit être en caractères latin. Ce format utilise les caractères suivants :
A B C - / _Lettres et symboles à vérifier.
[A-Z] ou [0-9]Intervalle de lettres, de chiffres ou de symboles à vérifier.
*0 ou plusieurs symboles à vérifier.
+1 ou plusieurs symboles à vérifier.
\WVérifie si un caractère spécial est présent (par exemple &, #, @, ...).

Remarque : L'utilisation du caractère | (pipe) permet de définir une condition de type "OU".

Vérifier un format et récupérer les éléments correspondant au format Masquer les détails

<Résultat> = VérifieExpressionRégulière(<Elément à vérifier> , <Expression régulière> , <Variable 1> ... [, <Variable N>])
<Résultat> : Booléen
  • Vrai si la chaîne vérifie le format indiqué,
  • Faux si la chaîne ne vérifie pas le format.
<Elément à vérifier> : Chaîne de caractères
Chaîne de caractères à vérifier. Cette chaîne de caractères doit être en caractères latin.
<Expression régulière> : Chaîne de caractères
Format de référence exprimé sous forme d'une expression régulière. Cette chaîne de caractères doit être en caractères latin. Ce format utilise les caractères suivants :
A B C - / _Lettres et symboles à vérifier.
[A-Z] ou [0-9]Intervalle de lettres, de chiffres ou de symboles à vérifier.
*0 ou plusieurs symboles à vérifier.
+1 ou plusieurs symboles à vérifier.
\WVérifie si un caractère spécial est présent (par exemple &, #, @, ...).
( )Délimitation d'une partie du format pour lequel l'élément correspondant devra être extrait.
{ }Nombre de répétitions autorisées pour l'expression précédente (de la forme {min, max}).

Remarque : L'utilisation du caractère | (pipe) permet de définir une condition de type "OU".
<Variable 1> : Chaîne de caractères, Entier, ...
Variable qui sera automatiquement initialisée avec la valeur correspondant à la première partie du <Format>. Chaque partie est définie par les caractères '(' et ')'.
<Variable N> : Chaîne de caractères, Entier, ...
Variable qui sera automatiquement initialisée avec la valeur correspondant à la Nième partie du <Format>. Chaque partie est définie par les caractères '(' et ')'.
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystJavaCode Utilisateur (MCU)Ajax

Vérifier un format et récupérer les éléments correspondant au format dans un tableau Masquer les détails

<Résultat> = VérifieExpressionRégulière(<Elément à vérifier> , <Expression régulière> , <Tableau de chaînes>)
<Résultat> : Booléen
  • Vrai si la chaîne vérifie le format indiqué,
  • Faux si la chaîne ne vérifie pas le format.
<Elément à vérifier> : Chaîne de caractères
Chaîne de caractères à vérifier. Cette chaîne de caractères doit être en caractères latin.
<Expression régulière> : Chaîne de caractères
Format de référence. Cette chaîne de caractères doit être en caractères latin. Ce format utilise les caractères suivants :
A B C - / _Lettres et symboles à vérifier.
[A-Z] ou [0-9]Intervalle de lettres, de chiffres ou de symboles à vérifier.
*0 ou plusieurs symboles à vérifier.
+1 ou plusieurs symboles à vérifier.
\WVérifie si un caractère spécial est présent (par exemple &, #, @, ...).
( )Délimitation d'une partie du format pour lequel l'élément correspondant devra être extrait.
{ }Nombre de répétitions autorisées pour l'expression précédente (de la forme {min, max}).

Remarque : L'utilisation du caractère | (pipe) permet de définir une condition de type "OU".
<Tableau de chaînes> : Tableau
Nom du tableau à remplir. Les différents éléments du tableau seront automatiquement initialisés avec les valeurs correspondant aux différentes parties du <Format>.
Remarques
WINDEVWEBDEV - Code ServeurWEBDEV - Code NavigateurEtats et RequêtesUniversal Windows 10 AppCode Utilisateur (MCU)PHPAjax

Caractère d'échappement

Le caractère d'échappement est "\". Ainsi, pour vérifier que le caractère { par exemple est bien dans la chaîne, l'expression régulière sera [\{]. Ce caractère d'échappement peut également être utilisé avec le caractère "+" et "*".
Utilisé avec W, il permet de vérifier la présence d'un caractère spécial (#, &, @, ...) dans la chaîne. Exemple :
SI PAS VérifieExpressionRégulière(SAI_SansNom1, ".*\W.*") ALORS
Erreur("Pas de caractères spéciaux dans la chaîne")
SINON
Info("La chaîne contient au moins un caractère spécial")

FIN
WINDEVWEBDEV - Code ServeurWEBDEV - Code NavigateurEtats et RequêtesUniversal Windows 10 AppCode Utilisateur (MCU)PHPAjax

Caractères spéciaux

Les caractères suivants peuvent également être utilisés dans le format :
  • TAB pour vérifier la présence d'une tabulation. Par exemple :
    VérifieExpressionRégulière(sChaîne, "1" + TAB + "2")
  • RC pour vérifier la présence d'un Retour Chariot. Par exemple :
    VérifieExpressionRégulière(sChaîne, "1" + RC + "2")
WINDEVWEBDEV - Code ServeurWEBDEV - Code NavigateurEtats et RequêtesUniversal Windows 10 AppCode Utilisateur (MCU)PHPAjax

Utiliser une condition dans une expression régulière

L'utilisation du caractère | (pipe) permet de définir une condition de type "OU".
Ainsi, l'expression "[0-9]{6,6}[_](AVIS|avis|QCM|qcm)[_][0-9]{8,8}" permet de vérifier ces deux types d'expression :
  • 123456_avis_20120913
  • 123456_QCM_20120913
WINDEVWEBDEV - Code ServeurWINDEV Mobile

Assistant de la fonction VérifieExpressionRégulière

La fonction VérifieExpressionRégulière propose sous l'éditeur de code l'utilisation d'un assistant de fonctionnalité. Cet assistant permet :
  • d'utiliser une expression régulière pré-définie. Une liste des expressions régulières pré-définies est proposée.
  • de visualiser l'expression régulière sous forme de schéma ou d'enchaînement de conditions dans une table.
  • de créer une expression régulière. Il suffit de :
    • Sélectionner l'expression prédéfinie "Personnalisée".
    • Cliquer sur le bouton Paramètres.
    • Ajouter les différentes conditions via le bouton "+". L'expression régulière se construit dans le champ "Expression régulière générée".
      Assistant de la fonction
    • Saisir l'expression à tester.
    • Le bouton Enregistrer permet d'enregistrer l'expression régulière. Elle sera proposée dans la liste des expressions régulières prédéfinies, préfixée par "Perso".
Liste des exemples associés :
Les expressions régulières Exemples unitaires (WINDEV) : Les expressions régulières
[ + ] Utilisation des expressions régulières avec WINDEV.
Deux types d'utilisation des expressions régulières sont présentés :
- vérification du format d'une saisie
- extraction des différents éléments respectant le format d'une saisie.
Cet exemple montre également comment rechercher un mot dans une chaîne, avec possiblité de ne pas prendre en compte la casse, le début ou la fin d'une chaîne, mais également de ne pas tenir compte des espaces (n'importe où dans la chaîne, y compris dans le mot recherché)
Les expressions régulières Exemples unitaires (WINDEV Mobile) : Les expressions régulières
[ + ] Utilisation des expressions régulières avec WINDEV Mobile.
Il montre 2 types d'utilisation des expressions régulières :
- vérifier le format d'une saisie
- extraire les différents éléments respectant le format d'une saisie.
Cet exemple montre également comment rechercher un mot dans une chaîne, avec possiblité de ne pas prendre en compte la casse, le début ou la fin d'une chaîne, mais également de ne pas tenir compte des espaces (n'importe où dans la chaîne, y compris dans le mot recherché)
Masque de saisie avancé Exemples unitaires (WINDEV) : Masque de saisie avancé
[ + ] Manipulation des masques de saisie dans WINDEV :
- Définition du format des positifs/négatifs dans un champ de saisie numérique
- Définition de l'apparence des négatifs dans un champ de saisie numérique
- Définition de l'apparence de la valeur 0 dans un champ de saisie numérique
- Utilisation d'une expression régulière pour empêcher la saisie d'autres caractères que les chiffres 1, 2, 3, 4, 5 et 6.
- Utilisation d'une expression régulière pour "réguler" la saisie d'un numéro de plaque d'immatriculation français
Classification Métier / UI : Code neutre
Composante : wd290std.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Le symbole point (.)
Cela n'est pas dit dans la documentation, mais le symbole point (.) permet de capturer n'importe quel caractères (ils peuvent être différents).

Par exemple :

. => Capture une fois n'importe quel caractère
.+ => Capture une ou plusieurs fois n'importe quels caractères => Capture n'importe quelle expression non vide
.* => Capture zéro, une ou plusieurs fois n'importe quels caractères => Capture n'importe quelle expression, même vide
Johjo
01 aoû. 2020

Dernière modification : 03/02/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale