PHP reguljära uttryck - Del III Inledning I denna del av serien, fortsätter vi att analysera mönster i PHP reguljära uttryck. Matcha repetitioner i ämnet sträng kan tecken eller grupper av tecken upprepa sig. Vi ska tala om grupper av tecken, som ett ämne senare. För nu, låt oss koncentrera oss på enstaka tecken upprepar sig. Det finns Kvantifieraren metatecken som tillåter oss att matcha upprepning av enstaka tecken eller grupper av tecken i ämnet strängen. Dessa metatecken är:?, *, +, Och {}. De tillåter oss att fatta beslut om antalet upprepningar vi söker.
Kvantifierare sätts omedelbart efter tecken, tecken klass eller grupp (se nedan) i regex. Här är de med sina betydelser, där x hänvisar till en särskild karaktär: x *: betyder match "x" 0 eller flera gånger, det vill säga många gånger som helst x +: betyder match "x" 1 eller flera gånger, det vill säga, åtminstone gång x? : Betyder match "x" 0 eller 1 gånger x {n,}: betyder match "x" åtminstone n eller flera gånger; Observera kommatecknet. x {n}: match "x" exakt n gånger x {n, m}: match "x" minst n gånger, men inte mer än m gånger. Obs: bokstaven "x" ovan står för alla tecken av en text, t.ex.
"b", "c", "d", "1", "2", etc. kvantifierare skrivs inuti ett mönster (regex). Exempel * Matchar det föregående objektet 0 eller fler gånger. /o * /matcher "o" i "ghost" av ämnet strängen "Ett spöke booooed". Det skulle också matcha "oooo" i ämnessträngen. För att ge regex mer vilket innebär att du måste kombinera det med andra karaktärer. Till exempel /Bo * /matcher "boooo" i "Ett spöke booooed" och "b" i "En fågel kvittrade", men inget i "En get grymtade", även om det sista strängen har ett "o". + Matchar det föregående objektet 1 eller flera gånger. Motsvarar {1,} - se nedan.
/a + /matchar "ett" i "candy" och alla aen i "caaaaaaandy". ? Matchar det föregående objektet 0 eller en tid. /e? le? /matchar "el" i "ängel" och "le" i "vinkel.". /e? le? /medel, har du ett ord som har "l" eventuellt föregånget av "e" och eventuellt följt av "e". Detta innebär, kommer det också att matcha, "liggande". Vid tiden du är klar här serien, kommer du att veta hur du redigerar regex, att begränsa den för att matcha bara "ängel" eller "vinkel". {n,} där n är ett positivt heltal. Detta matchar åtminstone n förekomster av föregående punkt.
Till exempel /a {2,} matchar inte "ett" i "godis", men matchar alla a: i "caandy" och "caaaaaaandy.". {n} där n är ett positivt heltal. Detta matchar exakt n förekomster av föregående punk