We zijn aan het eind van de reguliere expressie; we zijn klaar! We hebben geëvenaard '1234' uit de beschikbare string "12345". Er zijn twee dingen op te merken over dit proces. Ten eerste, het derde alternatief in de tweede groep 45 'laat ook een gelijke, maar het proces gestopt voordat het moet het derde alternatief - op een gegeven tekenpositie, meest linkse overwint. Ten tweede, het proces kon een match in het eerste tekenpositie van de beschikbare string '1'.
Als er geen wedstrijden op de eerste positie, zou Perl naar het tweede teken positie '2' en proberen de wedstrijd weer helemaal opnieuw. Perl geeft en verklaart "12345" = ~ /(124 | 123) (46 | 4 | 45) /, vals te zijn, wanneer alle mogelijke paden dat mogelijk karakterposities zijn uitgeput. De x Modifier Dit modifier is door de invoering x (in kleine letters) net naast de tweede schuine streep van de reguliere expressie ingesteld.
Dat wil zeggen: /patroon /x Wwhitespace gegevens tekens in het patroon zijn totaal genegeerd, behalve wanneer ontsnapt of in een karakter klasse, wanneer deze modifier is ingesteld. Wanneer deze modifier is ingesteld, karakters tussen een onbeschermde # buiten een karakter klasse en de volgende \\ n karakter, inclusief, worden ook genegeerd. Ik zal dit illustreren. Het zegt witruimte gegevens tekens in het patroon zijn totaal genegeerd, behalve wanneer ontsnapt of binnen een tekenklasse. Denk aan de beschikbare string: $ availableString = "Ik ben een man zitten.
"; De volgende twee expressies met de x modifier produceert geen een wedstrijd. $ availableString = ~ /man zitten /x Dit komt omdat in de reguliere expressie, de single-ruimten tussen "man" en "zitten" en "zitten" en "down" zijn niet herkend, met de aanwezigheid van de x modifier. Als u tegelijkertijd de bijbehorende ruimten in de beschikbare reeks verwijdert u een wedstrijd, met de x modifier hebben. De volgende beschikbare string een match met de bovenstaande reguliere expressie te produceren: $ availableString = "Ik ben
Android Activit…