*   >> läser Utbildning artiklar >> science >> programming

Att bygga ett reguljärt uttryck i Perl

grupperingen är uppfyllt. J. Vi är i slutet av regex; vi är klara! Vi har matchat '1234' ur den tillgängliga strängen "12345". Det finns två saker att notera om den här processen. Först, det tredje alternativet i den andra gruppen "45" ger också en match, men processen stoppas innan det kom till det tredje alternativet - vid en given teckenposition, erövrar längst till vänster. För det andra processen kunde få en match på det första tecknet position tillgängliga strängen "1".

Om det inte fanns några matcher på den första positionen, skulle Perl flytta till andra teckenposition "2" och försök matchen om igen. Perl ger upp och förklarar "12345" = ~ /(124 | 123) (46 | 4 | 45) /för att vara falsk, först när alla möjliga vägar på alla möjliga teckenpositioner har uttömts. X Modifier Detaljer modifierings ställs in genom att sätta x (med små bokstäver) precis bredvid andra snedstreck på regex. Det är: /mönster /x Wwhitespace datatecken i mönstret är helt ignoreras utom när rymt eller inuti en teckenklass, när denna modifierings är inställd.

När denna modifierings är inställd, tecken mellan ett okodat # utanför en teckenklass och nästa \\ n tecken, inklusive, ignoreras också. Jag kommer att illustrera allt detta. Den säger blankdatatecken i mönstret är helt ignoreras utom när rymt eller inuti en teckenklass. Tänk på tillgängliga sträng: $ availableString = "Jag är en man som satt ner."; Följande två uttryck med x modifierings inte producera en match. $ availableString = ~ /man sitter ner /x Detta beror i regex, samlade-utrymmena mellan "man" och "sitter" och "sitter" och "ned" inte erkänns, med närvaro av x modifierings.

Om du tar bort dessa motsvarande utrymmen i den tillgängliga sträng du kommer att ha en match med x modifierings. Följande finns strängen kommer att producera en match med ovanstående regex: $ availableString = "Jag är en mansittingdown."; Om du vill ha den ursprungliga tillgängliga sträng och regex att matcha, då måste man fly utrymmen i regex. Följande uttryck producerar en match med den ursprungliga tillgängliga sträng: $ availableString = ~ /man \\ sitter \\ ner /x En flydde enda blanksteg är "\\". Låt oss nu tala om vitt utrymme i en teckenklass.

Observera att mellanslag är faktiskt [\\ \\ t \\ r \\ n \\ f], inte bara "\\". Men låt oss fortsätta vår illustration med "\\". Vi använder samma snöre, det vill säga: $ availableString =; "Jag är en man som satt ner." Om vi ​​vill matcha utrymmet framför sammanträde, följt av "sitter", med x modif

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.