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 |
| 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é
RegexFunctionsdans 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.
- MassEditRegex
| Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : |
- Stable extensions/fr
- Parser function extensions/fr
- ParserFirstCallInit extensions/fr
- Public domain licensed extensions/fr
- Extensions in Wikimedia version control/fr
- All extensions/fr
- Extensions included in Canasta/fr
- Extensions included in MyWikis/fr
- Extensions included in ProWiki/fr
- Extensions included in wiki.gg/fr
