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

Plusieurs expressions régulières dans Perl

ue cela est la première: use strict ; if (". Ceci est ONE et qui est deux" = ~ /((?i)one).*(two)/) {print "assortie \\ n";} else {print "ne correspond pas \\ n";} Le regex ci-dessus est "/((?i)one).*(two)/". Notez que dans la chaîne disponible, "ONE" est en majuscules. Matching se produit dans le code ci-dessus. Ici, nous avons affaire à une capture . groupe Examinez le code suivant toujours avec un groupe de capture: use strict; if (". Ceci est ONE et qui est de deux" = ~ /((?i)one).

*(two)/) {print "assortie \\ n ";} else {print" ne correspond pas \\ n ";} Le regex ci-dessus est encore" /((?i)one).*(two)/ONE "est encore dans le" Notez que dans la chaîne disponible,. " les majuscules et les «deux», ce moment est dans le cas supérieure Matching ne se produit pas dans le code ci-dessus dans l'expression rationnelle «deux» est en abaisse cas;.. voilà pourquoi adaptation ne se produit pas.

Les deux programmes ci-dessus traitent de groupes de capture, serait non groupes de capture se comportent de la même manière? Nous allons utiliser deux programmes plus simples pour vérifier cela. Considérez ce qui suit: use strict; if (". Ceci est ONE et qui est deux" = ~ /(?:(?i)one).*(two)/) {print "assortie \\ n"; } Else {print "ne correspond pas \\ n"; } Le regex ci-dessus est "/(?:(?i)one).*(two)/". Notez que dans la chaîne disponible, "ONE" est en majuscules. Matching se produit dans le code ci-dessus. Ici nous avons affaire à un groupe non-capture.

Considérons le code suivant, qui est aussi avec un groupe non-capture: use strict; if (". Ceci est ONE et qui est de deux" = ~ /(?:(?i)one).*(two)/) {print "assortie \\ n"; } Else {print "ne correspond pas \\ n"; } Le regex ci-dessus est encore "/(?:(?i)one).*(two)/". Notez que dans la chaîne disponible, "ONE" est toujours dans le cas supérieure et «deux» est cette fois dans le cas supérieure. Matching ne se produit pas dans le code ci-dessus. Dans l'expression rationnelle «deux» est en abaisse cas; voilà pourquoi l'appariement ne se produit pas.

Eh bien, cela est un fait: si vous faites affaire avec la capture ou de groupes non-capture, un modificateur intérieur d'un groupe affecte uniquement ce groupe; il n'a pas d'incidence sur le reste de l'expression rationnelle. Cela est-il pour cette section. Et, finalement, nous sommes arrivés à la fin de la série. Nous avons vu tant de choses. Si vous avez compris la série, alors vous serez en mesure de faire beaucoup sur les expressions régulières en Perl. Votre problème immédiat

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