Jump to content

Extension:RegexFunctions

From mediawiki.org
This page is a translated version of the page Extension:RegexFunctions and the translation is 100% complete.
Manuel des extensions MediaWiki
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 dossier extensions/.
    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' );
    
  • Yes 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.