*   >> Lese Utdanning Artikler >> science >> programming

Bygge et vanlig uttrykk i Perl

vi er ferdig! Vi har matchet '1234' ut av den tilgjengelige strengen "12345". Det er to ting å merke seg om denne prosessen. Først lar tredje alternativ i den andre gruppen '45' også en kamp, ​​men prosessen stoppet før det kom til et tredje alternativ - på et gitt tegnposisjon, erobringer lengst til venstre. For det andre, ble fremgangsmåten i stand til å få en kamp på den første tegnposisjon av det tilgjengelige strengen '1'. Hvis det var ingen treff på første posisjon, ville Perl flytte til andre tegnposisjon '2' og forsøke kampen på nytt.

Perl gir opp og erklærer "12345" = ~ /(124 | 123) (46 | 4 | 45) /, for å være falsk, bare når alle mulige veier på alle mulige tegn stillinger er uttømt. X Modifier Detaljer Dette modifier er satt ved å sette x (med små bokstaver) like ved den andre skråstrek av regex. Det vil si: /mønster /x Wwhitespace data tegn i mønsteret er helt ignorert unntatt når rømt eller inne i en tegnklasse, når denne modifier er satt. Når denne modifier er satt, tegn mellom en avkodet # utenfor et tegn klasse og neste \\ n karakter, inkluderende, ignoreres også. Jeg vil illustrere alt dette.

Det står blanke data tegn i mønsteret er helt ignorert unntatt når rømt eller inne i et tegn klasse. Vurdere den tilgjengelige streng: $ availableString = "Jeg er en mann som satt ned."; De følgende to uttrykk med x-modifiserende middel ikke produserer en kamp. $ availableString = ~ /man sitter /x Dette er fordi i regex, single-mellomrom mellom "mann" og "sitter" og "sitter" og "ned" er ikke regnskapsført, med tilstedeværelse av x modifier. Hvis du fjerner disse tilsvarende områder i den tilgjengelige strengen vil du ha en kamp, ​​med x modifier.

Følgende tilgjengelig strengen vil produsere en kamp med ovennevnte regex: $ availableString = "I am a mansittingdown."; Hvis du vil ha den opprinnelige tilgjengelig strengen og regex å matche, så må du unnslippe mellomrom i regex. Følgende uttrykk produserer en kamp med den opprinnelige tilgjengelige streng: $ availableString = ~ /mann \\ sitter \\ ned /x En rømt enkelt mellomrom er "\\". La oss nå snakke om hvit plass i et tegn klasse. Vær oppmerksom på at mellomrom er faktisk [\\ \\ t \\ r \\ n \\ f], ikke bare "\\". Men la oss fortsette vår illustrasjon bruke "\\".

Vi bruker det samme tilgjengelig streng, er at: $ availableString =; "Jeg er en mann som satt ned." Hvis vi ønsker å matche plass foran sittende, etterfulgt av "sitter", med x modifier, da vår regex kan være; /[] Sittende /x Merk at de tomme i

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.