Perl giver op og erklærer "12345" = ~ /(124 | 123) (46 | 4 | 45) /, for at være falsk, når alle mulige stier på alle mulige karakter positioner er udtømt. X Modifier Detaljer Dette modifier indstilles ved at sætte x (med små bogstaver) lige ved siden af den anden skråstreg af regex. Det er: /mønster /x Wwhitespace data tegn i mønsteret er fuldstændig ignoreret undtagen når undsluppet eller inde i en karakter klasse, når denne modifier er indstillet. Når denne modifikator er indstillet, tegn mellem en ikke-kodet # uden en karakter klasse og næste \\ n karakter, inklusive, også ignoreret.
Jeg vil illustrere alt dette. Den siger blanke data tegn i mønsteret er fuldstændig ignoreret undtagen når undsluppet eller inde i en karakter klasse. Gennemgå den tilgængelige streng: $ availableString = "Jeg er en mand sidder ned."; De følgende to udtryk med x-modifier ikke producerer en kamp. $ availableString = ~ /mand sidder ned /x Dette skyldes i regex, enkelt-mellemrum mellem "mand" og "sidder" og "sidder" og "ned" ikke anerkendes, med tilstedeværelse af x modifier. Hvis du fjerner disse tilsvarende rum i tilgængelige strengen vil du have en kamp, med x-modifier.
Følgende tilgængelige streng vil producere en match med ovennævnte regex: $ availableString = "Jeg er en mansittingdown."; Hvis du vil have den originale tilgængelige snor og regex til at matche, så er du nødt til at flygte mellemrummene i regex. Følgende udtryk producerer en match med den oprindelige tilgængelige streng: $ availableString = ~ /mand \\ siddende \\ ned /x en flygtet enkelt rum er "\\". Lad os nu tale om hvide rum i en karakter klasse. Bemærk, at mellemrum er faktisk [\\ \\ t \\ r \\ n \\ f], ikke bare "\\". Men lad os fortsætte vores illustration ved hjælp af "\\".
Vi bruger det samme tilgængelige streng, der er: $ availableString = "Jeg er en mand sidder ned." Hvis vi ønsker at matche den plads foran møde, efterfulgt af "sidde", med x-modifier, så er vores rege