Regular Expressions i Perl for nybegynneren - Del 3 Innledning Dette er den tredje delen av min serie, Regular Expressions i Perl for nybegynneren. I denne delen av serien, fortsetter vi å analysere mønstre i Perl regulære uttrykk. Matching repetisjoner i tilgjengelige streng, kan tegn eller grupper av tegn gjenta seg selv. Vi skal snakke om grupper av tegn, som et emne, senere. For nå, la oss konsentrere oss om enkelttegn gjentar seg. Det er kvantifikator metategn som tillater oss å matche repetisjon av enkelttegn eller grupper av tegn i den tilgjengelige streng.
Disse meta tegnene er:?, *, + Og {}. De tillater oss å bestemme hvor mange repetisjoner vi leter etter. Quantifiers settes umiddelbart etter tegnet, tegnet klasse, eller gruppering (se senere) i regex. Her er de med sine betydninger, der x refererer til en bestemt karakter: x *: betyr kamp 'x' 0 eller flere ganger, det vil si, en rekke ganger x +: betyr kamp 'x' 1 eller flere ganger, dvs. minst når x? : Betyr kamp 'x' 0 eller 1 ganger x {n,}: betyr kamp 'x' minst n eller flere ganger; merk komma. x {n}: kamp 'x' nøyaktig n ganger x {n, m}: kamp 'x' minst n ganger, men ikke mer enn m ganger.
Merk: bokstaven "x" ovenfor står for alle tegn i en tekst, f.eks 'b', 'c', 'd', '1', '2', etc. kvalifiseringskamp er skrevet inne i et mønster (regex). Eksempler * Kamper foregående element 0 eller flere ganger. /o * /kampene 'o' in "spøkelset" av den tilgjengelige streng, "Et spøkelse booooed". Det vil også matche "oooo" i tilgjengelig strengen. For å gi regex mer som betyr at du må kombinere det med andre tegn. For eksempel /Bo * /kampene 'boooo "i" Et spøkelse booooed "og" b "i" En fugl kvitret ", men ingenting i" En geit gryntet ", selv om denne siste strengen har en' o '.
+ Kamper foregående element 1 eller flere ganger. Tilsvarer {1} - se nedenfor. /a + /matcher 'a' i "candy" og alle de a-er i "caaaaaaandy". ? Kamper foregående element 0 eller 1 gang. /e? le? /matcher 'el' i "engel" og "le" i "vinkel.". /e? le? /midler, har du et ord som har 'l' eventuelt innledes med 'e' og eventuelt etterfulgt av 'e'. Dette betyr, vil det også passe, "liggende". Innen du er ferdig med denne serien, vil du vite hvordan du endrer regex, å begrense den til å matche bare "angel" eller "vinkel". {n,} hvor n er et positivt heltall.
Dette samsvarer med minst n forekomster av det foregående element. For eksempel /a {2,} samsvarer ikke 'a' i "candy", men matcher alle en er i "caandy" og i "caaaaaaandy.". {n}, hvor n er et