-
    Techniques et conseils

Note: L'ensemble des "Tips of the Week" de l'éditeur OmniPilot sont régulièrement traduits chaque semaine. Vous les retrouvez ci-après

LISTE DES TUTORIAUX

Formatage de nombres et calculs FileMaker Pro sous Lasso

Passer facilement de FileMaker Pro CDML à Lasso Professional 8

Outil de Maintenance MySQL

Indicateur de progression - Progress bar

Uploads de fichiers sous Lasso Professional 8

Utilisation des arrays pour la création d'inlines dynamiques

Balises de gestion du Cache

Méthodes d'appel des balises

Encryption de données

Notions de Sessions

Gestion des erreurs

Pages d'erreur customisées

Variables globales

Optimisations de MySQL

Symboles d'assignation mathématiques

Expression régulières (Nettoyage du texte)

Expressions régulières (Rechercher/remplacer)

Expressions régulières (principes de base)

Optimisez votre code HTML en utilisant les balises [Loop] et [Iterate]

Utilisation des boucles (Loops)

Utilisation de la balise [Action_Params]

Techniques de commentaires


     
Blueworld, Windows Server 2003, Windows XP, RedHat, Linux, Mac OS X, MACOS, Apache, MySQL, FIlemaker Pro

Edité par OmniPilot Software, Lasso Professional fonctionne sous Windows 2000/2003/XP et Linux RedHat et Apache Server - Il s'intègre parfaitement à MySQL™ et FileMaker Pro™ ainsi que toutes autres bases de données
     




Déposez votre nom de domaine avec ELIDEE

Sujet:
Expressions régulières (principes de base)

Résumé:
Cet article décrit comment utiliser les expressions régulières pour réaliser des opérations de rechercher/remplacer sur des chaînes de caractères.

Détail:
Les expressions régulières sont utilisées par de nombreux programmes pour spécifier des paramètres lors de rechercher/remplacer. Elles sont similaires aux "wildcards" (jokers) dans MySQL ou FileMaker, mais en beaucoup plus puissants.

Cet article discute des manières d'utiliser la balise [String_ReplaceRegExp] dans Lasso de manière à améliorer votre propre code. D'autres conseils viendront à être exposés dans d'autres articles sur des concepts plus avancés.

La page visible sur Regular Expression Explorer vous offre l'opportunité d'essayer différentes expressions régulières et d'en voir le résultat. Les exemples dans cet article peuvent être essayés dans cette page

Créer des Expressions Régulières

Les expressions régulières sont des chaînes de caractères. Du point de vue le plus basique, chaque caractère de l'expression régulière correspond au même caractère dans le texte dans lequel vous rechercher. L'expresion régulière 'rapide' va correspondre au mot 'rapide' dans le texte "Le renard brun rapide'. Nous pouvons réaliser un rechercher/remplacer très simple de la manière suivante:

[String_ReplaceRegExp: 'Le renard brun rapide',
    -Find='rapide',
    -Replace='lent']

-> Le renard brun lent.

Les caractères suivants sont traités d'une manière particulière dans les expressions régulières. Ces caractères sont utilisés pour créer des modèles (patterns) et ne correspondent pas au même caractère dans le texte. Si vous souhaitez faire correspondre un de ces caractères avec une expression régulière vous devez le faire précéder de deux anti-slashes (\\* va correspondre au signe * et \\\ va correspondre à un \).

. * + [ ] ^ $ { } | ( ) \ ?

Modèles (patterns) simples

La puissance des expressions régulières vient de leur capacité à distinguer un groupe complet de caractères en utilisant un seul symbôle. Ce qui suit sont les symbôles basiques et les expressions qui font correspondre à un seul caractère.

. Correspond à n'importe quel caractère.
\\w Correspond à un caractère unique d'un mot (tout nombre ou lettre).
\\s Correspond à un caractère espace unique (espace, retour-charriot, tabulation.
\\d Correspond à un caractère numérique (0-9).
[abc] Correspond à l'un ou l'autre des caractères contenus dans les crochets (a ou b ou c).
[a-z] Un modèle (pattern) spécial qui correspond à n'importe quel caractère en minuscules.
[A-Z] Un modèle (pattern) spécial qui correspond à n'importe quel caractère en majuscules.
[^abc] Correspond à n'importe quel caractère sauf ceux spécifiés entre crochets après le sign ^ (ni a ni b ni c).

Ils peuvent être combinés avec des éléments modifieurs qui permettent de créer des groupes de caractères à rechercher.

* Correspond à zéro ou plusieurs des caractères précédents.
+ Correspond à un ou plusieurs des caractères précédents..
? Correspond à un zéro ou à un des précédents caractères (ce qui le rend optionnel).
| Correspond à soit l'expression précédente, soit l'expression suivante.
{3} Correspond à 3 des précédents caractères (tout nombre peut être utilisé).
{3,} Correspond à 3 ou plus des précédents caractères (tout nombre peut être utlisé).
{3,5} Correspond à 3 des 5 caractères précédents (utilisé avec n'importe quels nombres).

Exemples

Quelques exemples vont servir à illustrer comment ces deux concepts fonctionnent ensembles.

Caractères correspondants 'e+' va correspondre à une ou plusieurs occurences de la lettre 'e'. Dans l'exemple suivant chaque 'e' est remplacé avec une simple '*', et les 3 'e' de 'Beee' sont aussi remplacés par une seule '*'.br>
[String_ReplaceRegExp: 'Les moutons noirs font Beee!',
    -Find='e+',
    -Replace='*']

-> L*s moutons noirs font B*!!

Mots correspondants '\\w+' va faire correspondre chaque mot dans une expression. Dans l'exemple suivant, chaque mot est remplacé par une *, mais tous les espaces et la ponctuation sont conservés. will match each word in an expression. In the following example, each word is replaced by a *, but all the white space and punctuation remains.

[String_ReplaceRegExp: 'Les moutons noirs font Beee!',
    -Find='\\w+',
    -Replace='*']

-> * * * * *!

Mots commençant par "B" Pour rechercher uniquement les mots qui commencent par un B, nous pouvons utiliser un B suivi de \\w puis une *.

[String_ReplaceRegExp: 'Les moutons noirs font Beee!',
    -Find='B\\w*',
    -Replace='*']

-> Les moutons noirs font *!

Les mots d'une certaine longueur Pour rechercher tous les mots qui possèdent 5 caractères ou plus nous pouvons utiliser le modèle (pattern) suivant: '\\w{5,}'.

[String_ReplaceRegExp: 'Les moutons noirs font Beee!',
    -Find='\\w{4,}',
    -Replace='*']

-> Les * * font *!

Recherche d'espaces Pour remplacer tous les espaces avec un seul espace ( de manière à rendre plus propre par exemple les champs saisis par des utilisateurs) nous pouvons utiliser l'expression '\\s+' pour rechercher un ou plusieurs caractères d'espace.

[String_ReplaceRegExp: 'Les     moutons    noirs    font    Beee!',
    -Find='\\s+',
    -Replace=' ']
-> Les moutons noirs font Beee!

Plus d'information

Cet article aborde seulement la surface de ce qu'il est possible de faire à l'aide des expressions régulières. D'autres concepts seront abordés dans des articles à venir.

Le meilleur moyen d'avoir une perception du fonctionnement des balises d'expressions régulières est d'utliser la page Regular Expression Explorer et de modifier les paramètres vous même.

Plus d'informations sur ces balises peuvent être trouvées dans le manuel "Lasso 7 Language Guide" ou en ligne sur la référence de toutes les balises Lasso LDML 7 Reference et spécialement [String_ReplaceRegExp] ou [String_FindRegExp]

Produit:    Lasso Professional
Plateformes:    Mac OS X, Windows 2000, Windows XP, Windows 2003, Red Hat Linux
Versions:    5.x, 6.x, 7.x
Auteur:    Fletcher Sandbeck - Blue World


     
Retour accueil
Lasso Studio
Lasso Professional
Communiqués Presse
Tutoriaux
Lasso & Filemaker
Evaluation gratuite
Hébergement Lasso/MySQL
Revendeurs
Historique logiciel
Tarifs - Commander
Nous contacter
     

Notre numéro de téléphone : +33 5 57 22 89 35

Hébergement mutualisé Lasso




Hébergement et location de baies de serveurs et Transit IP par ELIDEE


-  Accueil  -  Développer avec Lasso Studio  -  Déployer avec Lasso Professional  --
Administration du site webmaster@elidee.com | Copyright 2004-2010, Elidée SARL. Tous droits réservés
Toutes les marques citées sont déposées par leur propriétaire respectif