perlreref - Perl Regular Expressions Reference
This is a quick reference to Perl's regular expressions. For full information see perlre and perlop, as well as the "SEE ALSO" section in this document.
=~
determines to which variable the regex is applied. In its absence, $_ is used.
$var =~ /foo/;
!~
determines to which variable the regex is applied, and negates the result of the match; it returns false if the match succeeds, and true if it fails.
$var !~ /foo/;
m/pattern/msixpogcdual
searches a string for a pattern match, applying the given options.
m Multiline mode - ^ and $ match internal lines
s match as a Single line - . matches \n
i case-Insensitive
x eXtended legibility - free whitespace and comments
p Preserve a copy of the matched string -
${^PREMATCH}, ${^MATCH}, ${^POSTMATCH} will be defined.
o compile pattern Once
g Global - all occurrences
c don't reset pos on failed matches when using /g
a restrict \d, \s, \w and [:posix:] to match ASCII only
aa (two a's) also /i matches exclude ASCII/non-ASCII
l match according to current locale
u match according to Unicode rules
d match according to native rules unless something indicates
Unicode
If 'pattern' is an empty string, the last successfully matched regex is used. Delimiters other than '/' may be used for both this operator and the following ones. The leading m
can be omitted if the delimiter is '/'.
qr/pattern/msixpodual
lets you store a regex in a variable, or pass one around. Modifiers as for m//
, and are stored within the regex.
s/pattern/replacement/msixpogcedual
substitutes matches of 'pattern' with 'replacement'. Modifiers as for m//
, with two additions:
e Evaluate 'replacement' as an expression
r Return substitution and leave the original string untouched.
'e' may be specified multiple times. 'replacement' is interpreted as a double quoted string unless a single-quote ('
) is the delimiter.
?pattern?
is like m/pattern/
but matches only once. No alternate delimiters can be used. Must be reset with reset().