*   >> Lezen Onderwijs artikelen >> science >> programming

Regex Groeperingen in Perl

; } Print "\\ $ 1 is:", $ 1, "\\ n"; print "\\ $ 2 is:", $ 2, "\\ n"; print "\\ $ 3:", $ 3, "\\ n"; Het is output van de bovenstaande code: $ 1: $ 2 keepers is: s $ 3: Het patroon zou passen "boekhouders", "boekhouder" of "boek". Echter, we hebben twee groepen; in elkaar. Het zijn deze twee groepen die kunnen worden herinnerd. Daarom is de uitgang, $ 3 niets te geven, als er niets toegewezen. De buitenste groep in het patroon is cat (s |) en de binnenste groep (s |). De buitenste groep komt overeen met "katten" in "housecats". De binnenste groep komt overeen met "s" eind "huiskatten".

Laat me wat meer uitleg over deze vastleggen. "(keeper (s |) |)" betekent "houder (s |)" of niets, en "houder (s |)" betekent "keepers" of "houder"; zo "keepers" naast "boek" wordt vastgelegd. "(s |)" is een groep en elke groep kan worden opgevangen; betekent "s" of niets. Merk op dat het niet noodzakelijk de groep die afgestemd; is het patroon dat wordt afgestemd. De wedstrijd staat sub-string die onze "s" heeft is boekhouders. Als "boekhouders" wordt geëvenaard, is onze "s" gevangen. Vastleggen en bijpassende zijn niet dezelfde dingen.

Na matching optreedt als er een groep in de afgedekte substring in de beschikbare reeks is de groep vastgelegd (toegewezen aan een variabel). Vastleggen in List Context In lijst context, een wedstrijd /regex /met groeperingen zal de lijst van gelijkaardige groep waarden ($ 1, $ 2, ...) terug. Ik dit illustreren door te laten zien hoe u de tijd te passen; Dit is een belangrijk voorbeeld. De volgende produceert een wedstrijd. (mijn $ uur, mijn $ min, mijn $ sec) = ($ het Time = ~ /(\\ d \\ d): (\\ d \\ d): (\\ d \\ d) /); Deze verklaring is niet in de if-voorwaarde.

De volgende code illustreert dit: use strict; mijn $ time = "10:20:15"; (mijn $ uur, mijn $ min, mijn $ sec) = ($ het Time = ~ /(\\ d \\ d): (\\ d \\ d): (\\ d \\ d) /); print "Hrs is:", $ uur, "\\ n"; print "Mins is:", $ min, "\\ n"; print "Secs is:", $ sec, "\\ n"; De output van deze code is: Uur is: 10 Mins is: 20 Sec is: 15 Als je de betekenis van de lijst Context in Perl weten, moet alles in de code spreekt voor zich. U kunt ook een serie gebruiken in plaats van een lijst. Tijd om een ​​pauze te nemen. We blijven in het volgende deel van de reeks.

Chrys Om te komen tot een van de onderdelen van deze reeks, typt u de bijbehorende titel onder en mijn naam, Chrys, in het zoekvak van deze pagina en klik op Zoeken (gebruik menu indien beschikbaar): reguliere expressies in Perl voor

Page   <<  [1] [2] [3] [4] [5] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.