PHP regulære uttrykk - Del III Innledning I denne delen av serien, fortsetter vi å analysere mønstre i PHP regulære uttrykk. Matching repetisjoner i faget 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 emnestrengen. 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.
quantifier er skrevet inne i et mønster (regex). Eksempler * Kamper foregående element 0 eller flere ganger. /o * /kampene 'o' in "spøkelset" av faget streng, "Et spøkelse booooed". Det vil også matche "oooo" i emnestrengen. 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 positivt heltall. Dette samsvarer nøyaktig n forekomster av det foregående element. /a {2} /ikke samsvarer med 'A' i "godteri", men det matcher alle a'er i