Regex cheat sheet
Regular expressions or commonly called as Regex or Regexp is a tool which simplifies working with strings. It helps finding, filtering, repliacing and matching. This tool is essential to work efficiently with log files and in general working in IT. Sooner or later you will need it!
^\w+\.pdf$
finds files with the pdf extension
Character sets #1
b[aeiou]r
will match bar ber bir bor bur
Character sets #2
b[^eo]r
will exclude ber & bor from above set
Letter range
[g-m]
will match all letters from specified range, including themselves: abcdefghijklmnopqrstuvwxyz
Number range
[4-7]
same as above, but for numbers
Repetitions
Asterisk
be*r
letter e can occur 0 or more times, matches: br ber beer beeeer
Plus
be+r
letter e can occur one or more times ber beer
Question mark
colou?r
indicates that character u is optional, matches: colour color
Curly braces
be{2}r
e should occur only 2 times: beer
Curly braces #2
be{3,}r
e should appear at least 3 times, beeer
Curly braces #3
be{1,3}r
e should appear between 1 and 3 times, ber beer beeer
Grouping
Parentheses
(haha)
matches haha string and substring coontaining whole group
Pipe
(C|c)at
similar to grouping, matches cat Cat
Caret
^[0-9]
find only numbers at the beginning of a line, eg 1. Title will match 1
Dollar
ending$
$ indicates end of line, matches ending in This story has an ending but not ending in This story has an ending and start
Alphanumeric
Word character
\w
expression \w is used to find letters, numbers and underscore characters.
\W
find characters other than letters, numbers, and underscores
Digits
\d
finds only number characters, excluding is \D
Space
\s \S
Lookarounds
Positive lookahead
\d+(?=PM)
will match PM in Date: 4 Aug 3PM which means: find the numerical values \d+ that have PM after them (?=PM)
Negative lookahead
\d+(?!PM)
select only digits that do not have PM after them, matches 4 in Date: 4 Aug 3PM
Positive lookbehind
(?<=\$)\d+
will match 5 in Code 123, Price: $5, so it matches before it
Negative lookbehind
(?<!\$)\d+
will match 123 in Code 123, Price: $5
Flags
Global
/expression/g
by default, expression will find only first match, add g at the end to find all occurences
Multiline
/expression/m
handles each line separately
Case insensitive
/expression/i