This document presents a tabular summary of the regular expression (regexp) syntax in Perl, then illustrates it with a collection of annotated examples.
Metacharacters
To present a metacharacter as a data character standing for itself, precede it with In the table above, the characters themselves, in the first column, are links to descriptions of characters in my The ISO Latin 1 character repertoire - a description with usage notes. Note that the physical appearance (glyph) of a character may vary from one device or program or font to another. | Repetition
Read the notation a’s as “occurrences of strings, each of which matches the pattern a”. Read repetition as any of the repetition expressions listed above it. Shortest match means that the shortest string matching the pattern is taken. The default is “greedy matching”, which finds the longest match. The repetition |
Special notations with
Perl - Cheat sheets Collection http:/ /pe rl4 eve ryt hin g.b lo g spo t.c om/ 201 0/1 2/p erl -ch eat -sh eet s-c oll ect ion.html comp lete, working examples of good Perl code http:/ /pe rlm eme.or g/s tar t h r /ind x. Tml LINKS (cont) Perl Progra mming Tutorials http:/ /ww w.d evs hed.co m/c /b/ Pe. Regular Expression Flags; i: Ignore case: m ^ and $ match start and end of line: s. Matches newline as well: x: Allow spaces and comments: J: Duplicate group names allowed. Go Cheat Sheet for Perl Hackers. Contribute to oalders/go-for-perl-hackers development by creating an account on GitHub. Perl Regular Expression Quick Reference Card Revision 0.1 (draft) for Perl 5.8.5 Iain Truskett (formatting by Andrew Ford) refcards.comTM This is a quick reference to Perl’s regular expressions. For full information see the perlre and perlop manual pages. Operators =Ÿ determines to which variable the regex is applied. In its ab-sence, $is used. Perl -ne 'print if $. = 15; exit if $. Just lines NOT between line 10 and 20 perl -ne 'print unless 10. Lines between START and END perl -ne 'print if /^START$/. In-place edit of.c files changing all foo to bar perl -pi.bak -e 's/bfoob/bar/g'.c 5. Delete first 10 lines perl -i.old.
|
|
w | matches any single character classified as a “word” character (alphanumeric or “_ ”) |
W | matches any non-“word” character |
s | matches any whitespace character (space, tab, newline) |
S | matches any non-whitespace character |
d | matches any digit character, equiv. to [0-9] |
D | matches any non-digit character |
Character sets: specialities inside [
..]
Perl Cheat Sheet Pdf
Different meanings apply inside a character set (“character class”) denoted by [
..]
so that, instead of the normal rules given here, the following apply:
Perl Cheat Sheet Pdf
[ characters] | matches any of the characters in the sequence |
[ x- y] | matches any of the characters from x to y (inclusively) in the ASCII code |
[-] | matches the hyphen character “- ” |
[n ] | matches the newline; other single character denotations with apply normally, too |
[^ something] | matches any character except those that [ something] denotes; that is, immediately after the leading “[ ”, the circumflex “^ ” means “not” applied to all of the rest |
Examples
expression | matches.. |
---|---|
abc | abc (that exact character sequence, but anywhere in the string) |
^abc | abc at the beginning of the string |
abc$ | abc at the end of the string |
a|b | either of a and b |
^abc|abc$ | the string abc at the beginning or at the end of the string |
ab{2,4}c | an a followed by two, three or four b ’s followed by a c |
ab{2,}c | an a followed by at least two b ’s followed by a c |
ab*c | an a followed by any number (zero or more) of b ’s followed by a c |
ab+c | an a followed by one or more b ’s followed by a c |
ab?c | an a followed by an optional b followed by a c ; that is, either abc or ac |
a.c | an a followed by any single character (not newline) followed by a c |
a.c | a.c exactly |
[abc] | any one of a , b and c |
[Aa]bc | either of Abc and abc |
[abc]+ | any (nonempty) string of a ’s, b ’s and c’s (such as a , abba , acbabcacaa ) |
[^abc]+ | any (nonempty) string which does not contain any of a , b and c (such as defg ) |
dd | any two decimal digits, such as 42 ; same as d{2} |
w+ | a “word”: a nonempty sequence of alphanumeric characters and low lines (underscores), such as foo and 12bar8 and foo_1 |
100s*mk | the strings 100 and mk optionally separated by any amount of white space (spaces, tabs, newlines) |
abcb | abc when followed by a word boundary (e.g. in abc! but not in abcd ) |
perlB | perl when not followed by a word boundary (e.g. in perlert but not in perl stuff ) |
Examples of simple use in Perl statements
These examples use very simple regexps only. Free download unlimited simsimi for blackberry gemini. The intent is just to show contexts where regexps might be used, as well as the effect of some “flags” to matching and replacements. Note in particular that matching is by default case-sensitive (Abc
does not match abc
unless specified otherwise).
s/foo/bar/;
replaces the first occurrence of the exact character sequence foo
in the “current string” (in special variable $_
) by the character sequence bar
; for example, foolish bigfoot
would become barlish bigfoot
s/foo/bar/g;
replaces any occurrence of the exact character sequence foo
in the “current string” by the character sequence bar
; for example, foolish bigfoot
would become barlish bigbart
s/foo/bar/gi;
replaces any occurrence of foo
case-insensitively in the “current string” by the character sequence bar
(e.g. Foo
and FOO
get replaced by bar
too)
if(m/foo/)
..
tests whether the current string contains the string foo
Date of creation: 2000-01-28. Last revision: 2007-04-16. Last modification: 2007-05-28. Vivaldi armida.
Finnish translation – suomennos: Säännölliset lausekkeet Perlissä.
The inspiration for my writing this document was Appendix : A Summary of Perl Regular Expressions in Pankaj Kamthan’s CGI Security : Better Safe than Sorry, and my own repeated failures to memorize the syntax.