R* Cheatsheet
Modifiers
Symbol |
Description |
g |
Global - search entire string |
i |
Case-insensitive |
m |
Multiple lines |
s |
Treat as single line |
x |
Allow comments & whitespace |
e |
Evaluate placement |
U |
Un-greedy patterns by default |
Escape
Symbol |
Description |
?# |
Comment |
\ |
Escape special characters |
\Q |
Begin literal sequence |
\E |
End literal sequence |
Anchors
Symbol |
Description |
^ |
Start of line |
$ |
End of line |
\A |
Start of string |
\Z |
End of string |
\b |
Word boundary |
\B |
Not word boundary |
\< |
Start of word |
\> |
End of word |
Characters
Symbol |
POSIX |
Description |
\c |
[:cntrl:] |
Control character |
\S |
|
Not a white space |
\s |
[:blank:] [:space:] |
White space |
|
[:punct:] |
Punctuation |
. |
[:print:] [:graph:] |
Printed Character, with & without spaces |
\W |
|
Not a letter |
\w |
[:alpha:] [:upper:] [:lower:] |
Letter |
\D |
|
Not a number |
\d |
[:digit:] |
Number |
\x |
[:xdigit:] |
Hexadecimal digit |
\O |
|
Octal digit |
\n |
|
New line |
\r |
|
Carriage return |
\t |
|
Tab |
\v |
|
Vertical tab |
\f |
|
Form feed |
\xxx |
|
Octal number "xxx" |
\xaa |
|
Hexidecimal "aa" |
Repeat
Symbol |
Range |
Description |
|
{x} |
Exactly x times |
|
{min,max} |
Repeat between min & max times |
? |
{,1} |
0 or 1 |
* *? |
{0,} |
0 or many (Adding ? make un-greedy) |
+ +? |
{1,} |
1 or more (Adding ? make un-greedy) |
Un-greedy repeaters will take the minimum number of characters required
Group Selectors
Symbol |
Description |
. |
Wildcard/Single character (Except newline) |
(abc|123) |
abc or 123 |
(...) |
Capture group |
(?<name>...) |
Named capture group |
(?:...) |
Group un-captured |
[abc] |
A or B or C |
[^abc] |
Not A or B or C |
[0-9] |
Number between 0 and 9 |
[a-g] |
Lowercase letter between a and g |
[A-G] |
Uppercase letter between A and G |
All selectors are inclusive
Reference Group
Symbol |
Description |
$n |
N'th Group |
$\ ` |
Before matched |
$' |
After matched |
$+ |
Last match |
$& |
Entire match |
Some regex implementations use \ instead of $.
Assertions
Symbol |
Description |
?= |
Lookahead |
?! |
Negative lookahead |
?<= |
Lookbehind |
?!= ?<! |
Negative lookbehind |
?> |
Once-only subexpression |
?(...) |
If condition |
?(...) | |
If-else condition |