Als u wilt dat uw reguliere expressie en het commentaar te zijn op meer dan één lijn, dan moet je de x-modifier gebruiken en te ontsnappen aan alle witte ruimten, als volgt: $ availableString = ~ /de \\ I # het eerste deel van de reguliere expressie nternet # Ik voor Internet moet in hoofdletters /x De volgende code illustreert dit: use strict; mijn $ availableString = "Gebruik het internet.
"; if ($ availableString = ~ /de \\ I # het eerste deel van de reguliere expressie nternet # ik voor Internet moet in hoofdletters /x) {print "Matched \\ n"; } Else {print "Niet Matched \\ n"; } Met de x modifier, # begint geplaatst. Als u geen gebruik maakt van de x modifier, er rekening mee dat de "(? #Comment)" Tag kan niet worden genest, kunt u niet "(? #Comment (? Reactie #))" in een regex. Inbedding Modifiers U kunt modifiers te bedden in de reguliere expressie (in het patroon). Ik zal de zaak-minder modifier gebruiken, ik om dit te illustreren.
Vergeet niet, de zaak-less modifier maakt de bijpassende ongevoelig. De uitzondering hierop is wanneer de modificator in een subpatroon (zie hieronder). Een modificator wordt ingesloten door omsluiten de karakters, (?), Net na de "?" teken. Rekening houden met de beschikbare reeks, "XYZ" en de regex, /(? I) xyz /Let op de tekenset "(? I)" dat de i modifier heeft. De bovenstaande regex zou al het bovenstaande onderwerp.
De volgende expressie geeft een wedstrijd: "XYZ" = ~ /xyz /Beschouw de volgende reguliere expressies (i?): (I) /xy z /Hier, de modifier is net voor het laatste teken, 'z' te zetten. Het effect is hetzelfde als voorheen. Het maakt niet uit waar je de modifier. De hele regex wordt beïnvloed, onafhankelijk van waar je de modifier. Dus /(? I) xyz /, /xy (? I) z /en /xyz /i hetzelfde betekenen. Non-vastleggen van groepen Een groep is de tekst tussen haakjes in de reguliere expressie. Standaard wordt een dergelijke tekst gevangen in een variabele of een lijst aan de linkerkant van het = ~ operator.
Beschouw de volgende code: use strict; mijnarr = ("Dit is een en dat is twee." = ~ /(one).*(two)/); afdruk $ arr [0],