Extension:RegexFunctions

This page is a translated version of the page Extension:RegexFunctions and the translation is 100% complete.
Other languages:
English • ‎dansk • ‎français • ‎中文 • ‎日本語
Manuel des extensions MediaWiki
OOjs UI icon advanced.svg
RegexFunctions
État de la version : bêta
Implémentation Fonction d'analyseur
Description Fonctions d'analyse syntaxique basées sur des expressions régulières
Auteur(s) Ryan Schmidt (Skizzerztalk)
Dernière version 2.0.0 (2020-03-18)
MediaWiki 1.31+
Licence domaine public
Téléchargement
Utilisation
Traduisez l’extension RegexFunctions sur translatewiki.net
Vérifiez la matrice des utilisations et des versions.

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) fichiers (s) dans un répertoire appelé RegexFunctions dans votre dossier extensions/.
  • 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.
  • StringFunctions - quelques opérations utiles sur les chaînes.
  • Regex Fun - juste une extension regex supplémentaire avec davantage de fonctionnalités mais sans variables personnalisables pour les limitations.
  • Extension:RegexParserFunctions