Lua: Le tutoriel  wxWidgets
Lua
Les patterns: Les captures.

Le mécanisme de capture offre un pattern pour copier les parties de la chaîne qui correspondent aux parties du pattern.

Vous spécifiez une capture en écrivant la partie de la structure que vous voulez capturer entre parenthèses.

Lorsque vous spécifiez une capture à string.find(), la fonction retourne les valeurs capturées en tant que résultats supplémentaires de l'appel.

L'utilisation typique de cette construction est de briser une chaîne en plusieurs parties.

	pair = "nom = Anna"
	
	_, _, key, value = string.find( pair, "(%a+)%s*=%s*(%a+)" )
	
	print( key, value ) --> nom  Anna
				

Le pattern "%a+" spécifie une séquence non vide de lettres et "%s*" spécifie une séquence d'espaces. (éventuellement vide)

Ainsi, dans l'exemple précédent, le motif entier spécifie une séquence de lettres, suivie par une séquence d'espaces, suivi par "=", de nouveau suivi par des espaces plus une autre séquence de lettres.

Les deux séquences de lettres ont leurs patterns entourés par des parenthèses, de façon à être capturés si une rencontre a lieu.

La fonction string.find() retourne toujours le premier des indices, qui dans l'exemple précédent a été stocké dans la variable fictive ( _) , puis retourne la capture faite au cours des recherches.

Le code suivant, va supprimer les "slashs".

	
	date = "14/7/1789"
	
	_, _, d, m, y = string.find( date, "(%d+)/(%d+)/(%d+)" )
	
	print( d, m, y )  --> 14  7  1789
				

Vous pouvez également utiliser des captures dans le pattern lui-même.

Un pattern, à un élément comme "%d", (où d est un chiffre unique), qui correspond uniquement une copie de la capture d.

logo wxWidgets Le savoir ne vaut que s"il est partagé par tous...
logo-internet_32x32.png Dernière mise à jour, le 9 décembre 2012.
Valid XHTML 1.0 Transitional

wxlualogo
Flèche haut
Flèche gauche
Flèche haut
Flèche droite