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

Regex grupperingar i Perl

reguljära uttryck i Perl för nybörjare - Del 4 Inledning Detta är den fjärde delen av min serie, reguljära uttryck i Perl för nybörjare. I denna del av serien, jag förklara regex Gruppering och Fånga i Perl. Grupperingar Vi kan använda parenteser för att gruppera tecken i ett mönster. Tänk på följande mönster: /The (gitarristen) /"gitarrist" är inom parentes. De parentes bildar en grupp, som har texten "gitarrist". Tänk på följande: /The (gitarristen är bra) /"gitarrist är bra" är inom parentes. De parentes bildar en grupp, som har texten, "gitarristen är bra".

Perl behandlar en grupp som en enhet. En grupp på egen hand är inte något syfte. Det blir viktigt när den används tillsammans med andra mönstertekniker. Det finns en annan användning, som vi ska se nedan. Under strängar med gemensamma delar Tänk dig att du har en bokhandel där det finns en bokhållare och en bokhylla. Här är bokhållare den person som ser efter böckerna. Också tänka sig att du har något av följande tillgängliga strängar: $ availStr =; "Det finns en bokhylla i mitt shoppar." $ availStr = "Jag har en bokhållare."; $ availStr = "Bokhållaren tar hand om bokhyllan.

"; I koden, kanske du inte vet vilka tillgängliga sträng föreligger (strängen kan ha tagits från någonstans och tilldelas en variabel); Men låt oss säga ditt intresse är att veta om det finns en bokhylla eller bokhållare i ämnet strängen. Regex till detta kan vara: /bokhylla | bokhållare /Observera att i ovanstående regex, måste vi skriva ordet "bok" två gånger. Vi kan undvika denna dubbla skriva med hjälp av följande regex: /bok (hylla | målvakt) /Denna andra regex är mer effektiv, eftersom vi inte behöver skriva ordet "bok" två gånger. I den andra har vi gruppen: (hylla | målvakt).

Perl behandlar en grupp som en enda enhet. Även i denna grupp måste Perl att välja "hylla" eller "keeper". På detta sätt kommer Perl måste leta efter bokhylla eller bokförare i gruppen. Följande uttryck producerar en match. $ availStr = ~ /bok (hylla | målvakt) /Här kan $ availStr vara vilken som helst av de ovanstående strängar. Här är ordet "bok" som är gemensam för båda orden och den första delen av båda orden.

Du kan ha en understräng som är den andra gemensamma delen av två fraser; samma teknik tillämpas, men denna gång i gruppen ligger framför; så här: /(icke-common | icke-common) common /Mönstret kan faktiskt bli komplex och du skulle ha samma mönster som ovan på olika platser i ett större mönster. Under strängar med alterneringsledighet

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