*   >> Lezen Onderwijs artikelen >> science >> programming

Het bouwen van een reguliere expressie in Perl

reguliere expressies in Perl voor de Novice - Deel 6 Inleiding Dit is het zesde deel van mijn reeks, reguliere expressies in Perl voor de Novice. Veel van de voorbeelden die we tegenkwamen zijn eenvoudige voorbeelden. In dit deel kijken we naar twee voorbeelden die zijn veeleisender. Voordat we dit deel van de serie, we praten over wat wordt genoemd Backtracking, en dan weer kijken we naar de x modifier.

Stappen die nodig zijn om een ​​Regex bouwen Dit zijn de stappen die nodig zijn om een ​​reguliere expressie te bouwen: * Geef de taak in detail * Breek het probleem in kleinere delen, * Vertalen van de kleine onderdelen in reguliere expressies, * Combineer de reguliere expressies, * Optimaliseer de finale gecombineerde reguliere expressies. Twee voorbeelden Voorbeeld 1 hexadecimale Color Code Controle opgeven Task in Detail Een voorbeeld van een hexadecimale kleurcode is # 4C8. Een ander voorbeeld is # 44CC88.

* Het begint met een hekje, gevolgd door 3 hexadecimale getallen of 6 hexadecimale getallen. * Hexadecimale cijfers zijn: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E en F. * De hexadecimale letters kan in kleine of hoofdletters. Breaking Down het probleem in kleinere delen * Het begint met een #. * Het wordt gevolgd door 3 hexadecimale getallen of * 6 hexadecimale getallen * Er is geen teken na de 3 of 6 hexadecimale cijfers. Vertalen in reguliere expressies Er zijn drie kleine onderdelen boven.

Het eerste deel geeft de reguliere expressie: /^ # /Het tweede deel geeft de reguliere expressie: /[0-9a-FA-F] {3} /het derde deel geeft de reguliere expressie: /[0-9a-FA-F] { 6} /Het laatste deel geeft de reguliere expressie /$ /De combinatie van de reguliere expressies Dit is de gecombineerde regex: /^ # ([0-9a-FA-F] {3} $) | ([0-9a-FA-F] {6} $) /Let op de alternatieve metateken, | de drie of zes hexadecimale cijfers. Let ook op de haakjes die de alternatieve groepen te scheiden. Het optimaliseren van de gecombineerde Regex Dit betekent dat het verkorten van de gecombineerde regex.

Merk op dat 0-9 wordt afgekort tot \\ d. Dus in de gecombineerde regex, veranderen we de twee exemplaren van 0-9 \\ d. Er zijn eigenlijk twee groepen; Wij beperken deze tot een groep door verwijdering van de binnenste haakjes. De geoptimaliseerde regex is: /^ # ([\\ da-fA-F] {3} $ | [\\ da-fA-F] {6} $) /Deze uitdrukking is korter dan de bovengenoemde vier karakters.

De volgende code illustreert het gebruik van de reguliere expressie: use strict; (mijn $ matchedString) = ("

Page   <<       [1] [2] [3] [4] [5] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.