-
    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 (Rechercher/remplacer)

Résumé:
Cet article décrit comme utiliser des expressions régulières pour effectuer 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. Une expression régulière est un ensemble de metacaractères qui spécifient quel texte rechercher. Ils sont similaires aux "wildcards" (jokers) dans MySQL ou FileMaker, mais en beaucoup plus puissants. Veuillez vous référer au précédent article Expressions régulières, les basiques.

Cet article discute des manières d'utiliser la balise [String_ReplaceRegExp] dans Lasso de manière à améliorer votre propre code. Il apporte des informations sur la manière d'effectuer des opérations de rechercher/remplacer avec des expressions régulières.

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

Sous-expressions Rechercher/Remplacer

La balise [String_ReplaceRegExp] requiert une expression de recherche et un modèle de remplacement. Par exemple:

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

Les expressions régulières permettent d'utiliser des portions de l'expression de recherche en les désignant comme des sous-expressions. Vous pouvez vous référer à ces sous-expressions dans vos expressions de remplacement de manière à changer de place les éléments trouvés autour de ce qui est remplacé.

Les sous-expressions sont définies en utilisant des parenthèses dans l' expression de recherche. Par exemple l'expression '\\w+@[\\w.]+' peut être utilisée pour vérifier une adresse email. Nous pouvons séparer le nom du compte d'email du nom du serveur en utilisant les parenthèses de cette manière : '(\\w+)@([\\w.]+)'. Cette nouvelle expression fonctionne de la même manière que la précédente sauf que les deux portions sont traitées séparemment ce qui permettra de s'y référer directement dans un modèle de remplacement.

Note: Pour cibler des parenthèses dans votre expression régulières utiliser les caractères d'échappement de la manière suivante : \\( et \\).

Les sous-expressions sont rappelées dans un modèle de remplacemenet en utilisant \\1, \\2, \\3, etc. On peut se référer à l'expression complète en utilisant \\0. Par exemple, notre adresse email peut être encadrée par un lien mailto en utilisant l'expression suivante:

[String_ReplaceRegExp: 'Envoyer un email à exemple@exemple.com',
  -Find='(\\w+)@([\\w\\.]+)',
  -Replace='<a href="mailto:\\0">\\0</a>']
-> Envoyer un email à <a href="mailto:exemple@exemple.com">exemple@exemple.com</a>.

Note: L'expression \\w cible n'importe quel caractère d'un mot (alphanumérique ou "_") une ou plusieurs fois +. Le symbôle @ cible simplement lui-même. Les crochets [] ciblent l'un ou l'autre des caractères qu'ils incluent. Dans ce cas il peut s'agir d'un simple caractère \\w ou d'un point \\.

En utilisant des sous-expressions nous pouvons changer la structure d'une adresse email pour aider à la rendre invisible des robots de spam.

[String_ReplaceRegExp: 'Envoyer un email à exemple@exemple.com',
  -Find='(\\w+)@([\\w.]+)',
  -Replace='\\1 à \\2']
-> Envoyer un email à exemple à exemple.com.

Alors la chaîne recherchée est remplacée par son modèle de remplacement il est possible d'éliminer une information indésirée en utilisant une expression régulière. Par exempel, l'expression '<a .*?>(.*?)</a>' va cibler toute ancre dans la page web. Seul le contenu de l'ancre est désigné comme une sous-expression. Ce modèle peut être utiliser pour éliminer tous les liens HTML en remplaçant le lien d'ancre A HREF par le contenu de la balise.

[String_ReplaceRegExp: 'Chercher le page à l'adresse <a href="exemple.lasso">exemple.lasso</a>',
  -Find='<a .*?>(.*?)</a>',
  -Replace='\\1']
-> Chercher le page à l'adresse exemple.lasso.

Note: L'expressoin .*? cible tout caractère . retrouvé zéro ou plusieurs fois * et le point d'interrogation s'assure que seul le résultat le plus court sera utilisé.

Voir les Sous-Expressions

La balise [String_FindRegExp] pour visualiser comment les sous-expressions correspondent à des résultats. Cette balise retourne une liste array des résultats. Avec une simple expression l'array contient chaque résultat retourné.

[String_FindRegExp: 'Le renard brun rapide', -Find='\\w+']
-> (Array: (Le), (renard), (brun), (rapide))

Lorsque des sous-expressions sont utilisées, la valeur retournée est un array avec chaque élément trouvé par chaque "sous-modèle" d'expression. Par exemple, l'expression suivante retourne le mot entier, le premier caractère de chaque mot et ce qui reste du mot comme sous-chaîne de caractères.

[String_FindRegExp: 'Le renard brun rapide', -Find='(\\w)(\\w*)']
-> (Array: (Le), (L), (e), (renard), (r), (enard), (brun), (b), (run), (rapide), (r), (apide))

En affichant les valeurs depuis cette balise, vous pouvez en voir toutes les sous-expressions que Lasso a pu trouver. Ceci peut être d'une aide préciseuse pour débuguer des expressions régulières.


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.

Produit:    Lasso Professional
Plateformes:    Mac OS X, Windows 2000, Windows XP, Windows 2003, Red Hat Linux
Versions:    5.x, 6.x, 7.x
Auteur:    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