PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → [WD8][ VérifieExpressionRégulière ] caractères spéciaux
[WD8][ VérifieExpressionRégulière ] caractères spéciaux
Débuté par mazuir.nathanael, 12 jan. 2005 13:35 - 5 réponses
Posté le 12 janvier 2005 - 13:35
Bonjour.

J'utilise la fonction VérifieExpressionRégulière() et j'ai besoin de créer une expression qui soit capable de retourner vrai si un mot est saisi avec ou sans accent, avec ou sans tréma, avec ou sans cédille ...
Bref accepter tout caractère, qu'il soit dans la borne [a-z], [A-Z] ou que les lettres soient accentuées ou non.

Quelqu'un a-t-il une idée ?

Par avance, merci
Posté le 12 janvier 2005 - 15:05
Nathanaël a écrit :

Bonjour.

J'utilise la fonction VérifieExpressionRégulière() et j'ai besoin de créer une expression qui soit capable de retourner vrai si un mot est saisi avec ou sans accent, avec ou sans tréma, avec ou sans cédille ...
Bref accepter tout caractère, qu'il soit dans la borne [a-z], [A-Z] ou que les lettres soient accentuées ou non.

Quelqu'un a-t-il une idée ?

Par avance, merci

La règle est de mettre dans les crochets les intervalles valide
successifs. Puis le nombre de caractères respectant l'expression, ici *
pour 0 => n
Pour les accents j'ai pris de Ascii 192 (À) jusqu'à Ascii 252 (ü), a
vous de le régler
..
VérifieExpressionRégulière("été", "[a-zA-ZÀ-ü]*") => VRAI
VérifieExpressionRégulière("été 2005", "[a-zA-ZÀ-ü]*") => FAUX
Chiffres non admis.
Posté le 12 janvier 2005 - 15:05
Bonjour,

Pourquoi tu ne n'utilise pas la fonction :

VérifieExpressionRégulière(Majuscule(Chaine_Comparaison), [A-Z], ...)

bon dev.
Posté le 13 janvier 2005 - 15:37
b.engelmajer a écrit :

La règle est de mettre dans les crochets les intervalles valide
successifs. Puis le nombre de caractères respectant l'expression, ici *
pour 0 => n


j'avais bien compris le principe. ;-)

Pour les accents j'ai pris de Ascii 192 (À) jusqu'à Ascii 252 (ü), a
vous de le régler


Ok...
Cette façon de faire est-elle dépendante de la page de code chargée par le système d'exploitation ?

Comment ça se passe pour quelqu'un qui utilise une page de code différente ?
Une machine italienne, espagnole ou anglaise, par exemple.
Posté le 13 janvier 2005 - 15:43
Christian P. a écrit :

>Bonjour,

Bonjour.

Pourquoi tu ne n'utilise pas la fonction :

VérifieExpressionRégulière(Majuscule(Chaine_Comparaison), [A-Z], ...)


C'est pas bête, mais ça suppose que je ne vérifie pas la présence ou l'abscence d'accents...
Dans ce cas, pourquoi ne pas utiliser la fonction SansAccent() ... ça ne règle pas le problème de la cédille, mais la probabilité de gérer ce cas est nulle dans mon cas...

Je vais creuser l'idée. ;-)

>bon dev.

merci.
Posté le 13 janvier 2005 - 16:56
Nathanaël a écrit :

b.engelmajer a écrit :


La règle est de mettre dans les crochets les intervalles valide
successifs. Puis le nombre de caractères respectant l'expression, ici *
pour 0 => n



j'avais bien compris le principe. ;-)



Pour les accents j'ai pris de Ascii 192 (À) jusqu'à Ascii 252 (ü), a
vous de le régler



Ok...
Cette façon de faire est-elle dépendante de la page de code chargée par le système d'exploitation ?

Comment ça se passe pour quelqu'un qui utilise une page de code différente ?
Une machine italienne, espagnole ou anglaise, par exemple.

C'est une bonne question! ;)
En fait, les caractères diacritiques (ASCII > 128) sont spécifiques à
chaque langue.
Je vois pour ma part deux solutions :
-1- utiliser Nation() pour choisir l'intervalle des accents admissibles.
-2- Calculer le ou les intervalles nécessaire en fusionnant les accents
des langues qui vous intéressent.
Il ne devrait pas y avoir de chevauchement, mais ça reste à
démontrer!