Regular Expressions i Perl for nybegynneren - Del 2 Innledning Dette er den andre delen av min serie, Regular Expressions i Perl for nybegynneren. I denne delen av serien, begynner vi analysere mønstre i Perl regulære uttrykk. Figurklasser hakeparentesene Et tegn klasse gjør et sett av mulige tegn, der en av dem ville svarer på et bestemt punkt, et tegn, i det tilgjengelige streng. Figurklasser er merket med parentes [...], med settet (klasse) tegn til å være muligens matchet inne. Her er noen eksempler: La din tilgjengelig strengen være "Han har en katt.
" Du vet kanskje at han har et dyr, men det spiller ingen rolle for deg hvilket dyr han har. Du vil være fornøyd hvis han har en katt, balltre eller en rotte. Legg merke til at ordene, "katt", "bat" og "rotte", har hver "på", men begynner med en "c" eller "b" eller "r". Regex å sjekke dette er /[BCR] på /Følgende produserer en kamp = ~ /[BCR] på /Her, på grunn av hakeparenteser vi tolke regex som følger "Han har en katt.": Mønsteret skal samsvare noen ord som første tegnet er en "b", "c", eller "t", resten av karakterene blir 'på'. Hakeparentesene betegner en gruppe av elementer.
Det er imidlertid et hvilket som helst element i klasse (klammer) som skal tilpasses, og ikke alle av dem sammen. Her er klassen gruppen av bokstaver, 'b', 'c' og 't'; har bare en som passer sammen med "på". Rekke tegn på "-" Character Det kan komme en tid når du ønsker å matche enhver forekomst av et siffer mellom 0 til 9, eller små bokstaver mellom 'a' til 'z', eller en stor bokstav mellom A til Z.
Dette er områder av tegn og for hver spenner du ønsker å vite om ett tegn i området eksisterer i den tilgjengelige streng (jeg vil ta opp spørsmålet om flere forekomster av en karakter av et område i den tilgjengelige strengen senere). På "-" Character brukes til dette. Så området 0 til 9 er betegnet med 0-9; 'a' til 'z' av a-z; og A til Z av A-Z. Følgende kode gir en kamp: "ID5id" = ~ /[0-9] /Recall at hakeparentesene indikerer at noe element det inneholder bør testes for matching. En rekke tegn er en klasse (se ovenfor), og så må du bruke hakeparentes, som i uttrykket ovenfor.
I det ovennevnte tilfelle inntreffer en match mellom 5 i området 0 til 9 og 5 i den utilgjengelige strengen, "ID5id". Uttrykket ovenfor er det samme som "ID5id" = ~ /[0123456789] /Legg merke til bruken av hakeparenteser. Følgende kode vil produsere en kamp for en lignende grunn: "ID5i" = ~ /[a] /A kamp oppstår mellom 'i' i området az og 'i', den eneste s