WCMATCH

Recherche de certains caractères
dans une chaîne de caractères

 

syntaxe (wcmatch chaîne test)
argument Chaîne, la chaîne de caractères (string) à tester
test, caractère ou suite de caractères à chercher dans la chaîne
Valeur renvoyée T, si test valide
nil, si test n'est pas valide
parenthèses_01

Attention à la différence majuscules/minuscules (casse),
cette commande y est sensible et fait la différence entre les deux.

Le tableau suivant explique les différents caractères de remplacement pour tester une chaîne de caractères :

Caractères

Français

Anglais

commentaire

# dièse pound Remplace un caractère numérique quelconque
@ arobase at Remplace un caractère alphabétique quelconque
. point period Remplace un caractère non alphabétique ni numérique
* étoile asterisk Remplace une suite de caractères,
s'utilise pour chercher un (des) caractère(s) n'importe où dans la chaîne
? point d'interrogation question mark Remplace un caractère unique peu importe le type
par exemple, ?BC remplace ABC, 3BC,
~ tilde tilde Recherche toutes les chaînes qui ne correspondent pas au critère indiqué
par exemple :
~*AB* recherche toutes les chaînes ne contenant pas AB
[...] entre crochets brackets Recherche l'un des caractères indiqués entre crochets.
par exemple :
[AB]C recherche AC et BC
[~...] tilde et crochets Tilde and brackets Correspond à tout caractère unique non compris entre les crochets.
par exemple,
[~AB]C recherche XC mais pas AC
- tiret hyphen Pour spécifier une plage de valeur.
par exemple, [A-G]C recherche AC, BC, etc.,
jusqu'à GC, mais pas HC
, virgule comma Séparateur de champs de test
` apostrophe inverse Reverse quote Le caractère qui suit l'apostrophe est interprété littéralement.
par exemple, `~AB recherche ~AB

Exemples :

syntaxe test résultat
 wcmatch_01 Est-ce que la chaîne commence par E ? T
 wcmatch_02 Est-ce que la chaîne contient un caractère numérique n'importe où ? nil
 wcmatch_03 Est-ce que la chaîne contient un caractère numérique n'importe où ? T
 wcmatch_04 Est-ce que la chaîne est composée d'un caractère alphabétique et d'un caractère numérique ? T

 

 wcmatch_05 Est-ce que la chaîne est composée d'un caractère alphabétique et d'un caractère numérique ? nil
 wcmatch_06 Est-que la chaîne contient une virgule ?

Notez l'apostrophe devant la virgule pour que cette dernière soit interprétée littéralement et non comme un séparateur.

T
 wcmatch_07 Est-ce que la chaîne contient n'importe quel caractère entre les crochets ? T
 wcmatch_08 Est-ce que la chaîne se termine par un nombre entre 1 et 9 ? T
 wcmatch_09 Est-ce que la chaîne se termine par un nombre entre 1 et 8 ? nil
 wcmatch_10 Est-ce que la chaîne est composée de sept caractères quelconques ? T
 wcmatch_11 Est-ce que la chaîne est composée de trois caractères quelconques ? nil
 wcmatch_12 Est-ce que la chaîne ne contient pas AB ? T
 wcmatch_13 Est-ce que la chaîne ne contient pas AB ? nil
 wcmatch_14 Est-ce que la chaîne est AZE ou BZE ? T

Pour faire un test sur plusieurs conditions, vous pouvez les regrouper dans le même test en séparant les tests par une virgule, toutefois il suffit qu'un seul test soit vrai pour que la valeur renvoyée soit T

syntaxe test Valeur renvoyée
 wcmatch_15 Est-ce que la chaîne contient un z ou bien commence par N nil
 wcmatch_16 Est-ce que la chaîne contient un z ou bien commence par E T

Exemple d'application :

Testons si la machine sur laquelle tourne le programme est en 64 bits ou en 32 bits

wcmatch_17

Une fois chargé ce fichier lisp, en ligne de commande on tape : (test3264)
et le résultat apparaît.

 


 

Haut de page

revenir au menu CHAINES DE CARACTÈRES


26 mai 2017