*   >> läser Utbildning artiklar >> science >> programming

Använda reguljära uttryck i Perl

en man. Utan den globala modifierings, matchning och /eller utbyte alltid påverkar den första förekomsten. Den andra mannen i tillgängliga strängen har inte ersatts. Med den globala (g) modifierings alla matchade under strängarna byts ut. Följande kod illustrerar detta: använd strikt; min $ availableString = ". Jag är en man Han är en man."; $ availableString = ~ s /man /kvinna /g; print $ availableString; Utgången är: Jag är en kvinna. Han är en kvinna. I produktionen har alla förekomster av ordet "man" har ersatts av "kvinna"; tack vare g modifieringsmedel.

Interna variabler, $ 1, $ 2 ... $ 9 Här vill vi se de värden de interna variablerna, $ 1, $ 2, etc ta efter byte. Följande kod illustrerar detta: använd strikt; min $ availableString = ". Jag är en man som du är en man."; $ availableString = ~ s /(man) /kvinna /; print "\\ $ 1 är:" $ 1 "\\ n"; Utgången är: $ 1 är: man Det finns en grupp (man) i matchande mönster. Detta motsvarar till $ 1. Efter bytet, $ 1 är "man" och inte "kvinna". Så, när du söka och ersätta, håller intern variabel vad matchas och inte vad som ersätts. Jag har inte betraktas fallet med g modifieringsmedel.

Split Operation Det finns en operatör som kallas Split Operator. Syntaxen är: split /mönster /, sträng Uppdelningen operatör delar upp en sträng till en lista med understrängar och returnerar listan. Mönstret är separatorn t.ex. ett kommatecken. Separatorn är inte en del av den returnerade listan. Tänk dig följande tillgängliga sträng: $ availableString = "ett två tre"; Om vi ​​vet regex mönster för att identifiera utrymmet mellan ord, så vi kan dela denna sträng till en lista som består av ord, "ett", "två" och "tre". Denna lista kan vara en array. \\ Är tecknet för rymden.

\\ + Kommer att matcha ett utrymme en eller flera gånger. Regex att separera ovanstående ord är /\\ + /Vi antar att rymden kan skapas genom att trycka på mellanslagstangenten mer än en gång. Följande kod illustrerar användningen av den delade operatör med detta mönster. use strict; min $ availableString = "ett två tre"; minawords = split /\\ + /, $ availableString; print "Första Element är:" $ ord [0], "\\ n"; print "Andra Element är:" $ ord [1], "\\ n"; print "Tredje Element är:" $ ord [2], "\\ n"; I den tillgängliga sträng orden separeras av mellanslag.

Utsignalen från ovanstående kod är: första delen är: en andra Element är: två tredje Element är: tre den spillts operatören har delat ord tillgängliga sträng med hjälp av mellanrum mellan orden, och sätta va

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.