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

Bygge et vanlig uttrykk i Perl

Regular Expressions i Perl for nybegynneren - Del 6 Innledning Dette er den sjette del av min serie, Regular Expressions i Perl for nybegynneren. Mange av de eksemplene vi har kommet over er enkle eksempler. I dette avsnittet ser vi på to eksempler som er mer krevende. Før vi forlater denne delen av serien, snakker vi om det som kalles backtracking, og da ser vi igjen på x modifier.

Trinnene som kreves for å bygge en Regex Dette er fremgangsmåten som kreves for å bygge en regex: * Angi oppgaven i detalj, * Bryt ned problemet i mindre deler, * Trans små deler inn regexes, * Kombiner regexes, * Optimal den endelige kombinert regexes. To eksempler Eksempel 1 heksadesimale fargekode Sjekk Spesifisere Task i detalj Et eksempel på en heksadesimal fargekode er # 4C8. Et annet eksempel er # 44CC88. * Det begynner med en hash, etterfulgt av enten 3 heksadesimale tall eller 6 heksadesimale tall. * Heksadesimale tall er: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E og F.

* De heksadesimale bokstaver kan være i små og store bokstaver. Breaking Down problemet i mindre deler * Det begynner med en #. * Den etterfølges av 3 heksadesimale tall eller * 6 heksadesimale tall * Det er ingen tegn etter 3 eller 6 heksadesimale sifre. Sette til regexes Det er tre små deler ovenfor.

Den første delen gir regex: /# /Den andre delen gir regex: /[0-9a-fa-F] {3} /Den tredje delen gir regex: /[0-9a-fa-F] { 6} /Den siste delen gir regex /$ /Kombinere regexes Dette er kombinert regex: /# ([0-9a-fa-F] {3} $) | ([0-9a-fa-F] {6} $) /Noter alternative metategn, | for de tre eller seks heksadesimale sifre. Legg også merke til parentesene som skiller de alternative gruppene. Optimalisere Kombinert Regex Dette betyr forkorte kombinert regex. Vær oppmerksom på at 0-9 er forkortet til \\ d. Så i den kombinerte regex, endrer vi to forekomster av 0-9 til \\ d.

Det er faktisk to grupper; vi reduserer disse til en gruppe ved å fjerne de indre brakettene. Den optimaliserte regex er: /# ([\\ da-fa-F] {3} $ | [\\ da-fa-F] {6} $) /Dette uttrykket er kortere enn de ovennevnte med fire tegn. Følgende kode viser bruken av regex: bruke strenge; (min $ matchedString) = ("# 44CC88" = ~ /# ([\\ da-fa-F] {3} $ | [\\ da-fa-F] {6} $) /); print $ matchedString; Utgangen er: 44CC88 Eksempel 2 Brukernavn Sjekk Spesifisere Task i detalj Anta at vi har et nettsted der brukerne må logge inn.

Vi kan fortelle brukeren at hans navn skal inneholde bokstaver i små og store bokstaver og /eller tall fra 0 til 9 og /eller u

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