*   >> Lecture Éducation Articles >> science >> la programmation

Regex regroupements dans Perl

dance a eu lieu avec la chaîne disponible, pouvez-vous savoir le mot exact ou une phrase dans la chaîne disponible qui a été adapté? Oui, vous pouvez le savez, et il est grâce au regroupement. Jusqu'à 9 groupes dans un modèle peut se rappeler quand appariement se produit. En d'autres termes, vous pouvez savoir jusqu'à 9 sous chaînes exactes de la chaîne disponible, lorsque l'appariement est produite. Perl a beaucoup de variables internes, dont 9 sont de 1 $, 2 $, 3 $, 4 $, 5 $, 6 $, 7 $ et 9 $. Penchons-nous sur un exemple d'abord avant de nous continuons.

Considérons le code suivant: use strict; if (". Ceci est un et qui est deux" = ~ /(one).*(two)/) {print "assortie \\ n"; } Else {print "ne correspond pas \\ n"; } Print "\\ 1 $ est:", $ 1, "\\ n"; print "\\ $ 2 est:", $ 2, "\\ n"; La chaîne est disponible "Ceci est un et qui est deux." Penchons-nous sur le motif. Le motif est /(one).*(two)/; il correspondra à toute chaîne de sous dans la chaîne disponible qui commence par «un» et se termine par «deux». Rappelez-vous que le point, suivie par l'astérisque représente un ensemble de caractères. Notez qu'il existe deux groupes dans le motif.

Les groupes sont (un) et (deux). Dans la chaîne disponible, vous avez la sous-chaîne, «un» puis, après une certaine distance, vous avez la chaîne de sous "deux". Le groupe (un) correspond à la chaîne "un" sous-marin dans la chaîne disponible. Le groupe «deux» correspond à la chaîne sous «deux», dans la chaîne disponible. En raison de cette correspondance, la chaîne sous «un» dans la chaîne disponible est affectée à la variable interne, 1 $; la chaîne de sous, "deux" dans la chaîne disponible est affectée à la variable interne, 2 $.

Dans le code, les deux dernières déclarations, imprimer les valeurs de ces deux variables. Si vous jamais eu des groupes (entre parenthèses), correspondant serait encore se produire, mais rien ne serait attribuer aux variables internes, (1 $ et 2 $). En d'autres termes, rien ne serait capturé. La sortie du code est: 1 $ est: 2 $ est un: deux, vous pouvez avoir jusqu'à 9 groupes (paires de parenthèses) dans le motif.

Si il ya au moins 9 sous les chaînes dans la chaîne disponible qui correspond aux 9 groupes dans le motif, puis les cordes sous 9 dans la chaîne disponibles seraient affectés à 1 $, 2 $ ... 9 $, respectivement. Telle est la première correspondance serait aller à 1 $; la deuxième à une 2 $, le troisième à une 3 $ et ainsi de suite. Ceci est la façon dont vous vous souvenez ou la capt

Page   <<  [1] [2] [3] [4] [5] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.