Extension:RegexFunctions
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 | 12 (Ranked 128th) |
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/
.
Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/RegexFunctions - 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 fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |