Perfectionnement en Lua/Regex

Leçons de niveau 14
Une page de Wikiversité, la communauté pédagogique libre.
Début de la boite de navigation du chapitre
Regex
Icône de la faculté
Chapitre no 5
Leçon : Perfectionnement en Lua
Chap. préc. :Créer un modèle Lua
Chap. suiv. :Sommaire
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Perfectionnement en Lua : Regex
Perfectionnement en Lua/Regex
 », n'a pu être restituée correctement ci-dessus.

Principe[modifier | modifier le wikicode]

Plusieurs méthodes Lua acceptent des expressions régulières. Les opérateurs sont documentés sur MW:Extension:Scribunto/Lua_reference_manual/fr#Motifs_(pattern).


Exercice[modifier | modifier le wikicode]

Créer un script Lua avec des expressions régulières[modifier | modifier le wikicode]

  1. Accéder au Module:Bac à sable,
  2. Supprimer le code existant,
  3. Ajouter le code suivant et enregistrer la page :
-- Tests Regex
local t = {'Document', 'document', 'documents', 'Documents', 'page', 'ligne'}
function p.reg1()
	local r = ''
	local motif = '[Dd]ocument'
	for k, v in pairs(t) do 
		-- utiliser foncton texte, une simple equivalence ne suffit pas (v ~= motif)
		if mw.ustring.find(v, motif) then r = r .. '# ' .. v ..'\n' end
	end
	return r
end

Tester votre nouveau script[modifier | modifier le wikicode]

  1. Rendez-vous sur "votre page de test".
  2. Ajouter le code suivant et enregistrer la page :
{{#Invoke:Bac à sable|reg1}}

Le résultat doit correspondre à ceci[modifier | modifier le wikicode]

  • Document
  • document
  • documents
  • Documents

Comprendre le nouveau script[modifier | modifier le wikicode]

Conclusion[modifier | modifier le wikicode]

Félicitation ! Vous êtes capable de créer, tester et comprendre un script Lua qui contient du regex.