Extension:RegexFunctions
![]() État de la version : stable |
|
---|---|
Implémentation | Fonction d'analyseur |
Description | Fonctions d'analyse syntaxique basées sur des expressions régulières |
Auteur(s) | Ryan Schmidt (Skizzerzdiscussion) |
Dernière version | 2.0.0 (2020-03-18) |
MediaWiki | 1.31+ |
Licence | domaine public |
Téléchargement | Utilisation |
Téléchargements trimestriels | 23 (Ranked 155th) |
Traduire l’extension RegexFunctions sur translatewiki.net si elle y est disponible | |
L'extension RegexFunctions fournit des fonctions d'analyse syntaxique basées sur des expressions régulières.
Utilisation
Actuellement cette extension définit trois fonctions d'analyse : rmatch
, rsplit
, et rreplace
#rmatch:
{{#rmatch:string|pattern|then|else}}
- string (obligatoire) - Le texte que la fonction doit utiliser pour faire la recherche.
- pattern (obligatoire) - L'expression régulière à utiliser pour le texte.
- then (optionnel) - Ce qu'il faut rendre lorsque le motif a été trouvé. $# et \# contiennent le texte capturé. Utilisez ${#}# si vous désirez qu'un groupe soit suivi par un autre numéro.
- else (optionnel) - Ce qu'il faut rendre lorsque le motif a été trouvé. Une chaîne vide par défaut.
#rsplit:
{{#rsplit:string|pattern|piece}}
- string (obligatoire) - Le texte que la fonction va analyser.
- pattern (obligatoire) - Expression régulière à utiliser pour le texte. Pas de correspondance trouvée.
- piece (optionnel) - Pièce à retourner. 0 par défault (qui correspond à la première pièce). Les nombres négatifs rendent les pièces en commençant à partir de la fin. Par exemple -1 est la dernière pièce.
#rreplace:
{{#rreplace:string|pattern|replacement}}
- string (obligatoire) - Le texte que la fonction va remplacer.
- pattern (obligatoire) - Expression régulière à utiliser sur le texte.
- replacement (obligatoire) - Texte qui remplacera le texte détecté. $# et \# contiennent le texte capturé. Utilisez ${#}# si vous désirez qu'un groupe soit suivi par un autre numéro.
Sauf pour le paramètre string, chaque paramètre peut être spécifié soit par son nom, soit par sa position.
Par exemple, {{#rmatch:some string|pattern=^.+$|then=success|else=failure}}
.
Si la langue du contenu de votre wiki n'est pas l'anglais, vous pouvez utiliser à la fois les noms anglais ainsi que les noms traduits.
De plus chaque fonction prend en charge les paramètres nommés suivants qui vous permettent de modifier le comportement de l'expression régulière :
- multiline - Si non vide alors
^
et$
correspondent chacuns au début et à la fin de chaque ligne, plutôt qu'au début et à la fin de la chaîne complète. - caseless - Si non vide alors le motif s'applique quelque soit la casse.
- ungreedy - Si non vide,
*
et+
sont assez restrictifs tandis que*?
et+?
sont beaucoup moins sélectifs. - extended - Si non vide, l'espression régulière peut contenir des espaces et des commentaires en ligne. Pour plus d'information, voir la section d'aide sur les motifs, dans la documentation PHP.
- dotall - Si non vide,
.
correspond à tous les caractères y compris les passages à la ligne. Habituellement, il ne détecte pas ces derniers.
Par exemple, {{#rmatch:XxXxX|x+|$0|caseless=1}}
va produire en sortie XxXxX
parce que x+
correspond à la fois aux X en majuscules et en minuscules lorsque le modificateur pour ignorer la casse est positionné.
Aide au format
Si vous avez besoin d'aide pour construire la syntaxe, veuillez lire les généralités sur [1] et [2] vous donnera un aperçu des modificateurs.
Les délimiteurs ne sont pas nécessaires sur le motif en général, et ils doivent être omis pour faciliter la lisibilité à chaque fois que cela est possible, mais ils sont nécessaires à chaque fois que vous voudrez spécifier des modificateurs à un caractère, après le motif. Dans cette éventualité, les délimiteurs doivent être des barres obliques avant '/' (et aucun autre type de délimiteur n'est pris en charge).
Installation
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
RegexFunctions
dans votre dossierextensions/
. - Ajoutez le code suivant à la fin de votre fichier
LocalSettings.php
:wfLoadExtension( 'RegexFunctions' );
- Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
Voir aussi
- ReplaceSet - un excellent substitut pour l'utilisation des commandes #replace imbriquées lorsque vous avez besoin de réaliser une séquence de remplacement sur une seule chaîne de texte.
- Regex Fun - juste une extension regex supplémentaire avec davantage de fonctionnalités mais sans variables personnalisables pour les limitations.
Cette extension est incluse dans les paquets et / ou les fermes de wikis suivants : Cette liste ne fait pas autorité. Certaine fermes de wikis ou d'hébergeurs peuvent contenir ce extension même s'ils ne figurent pas ici. Vérifiez toujours cela dans votre environement avant de confirmer. |