Regular Expressions Cheat Sheet by DaveChild
9 Comments
|
Add a Comment
|
PDF Download
|
Find:
Regular Expressions Anchors
| ^ |
Start of string, or start of line in multi-line pattern |
| \A |
Start of string |
| $ |
End of string, or end of line in multi-line pattern |
| \Z |
End of string |
| \b |
Word boundary |
| \B |
Not word boundary |
| \< |
Start of word |
| \> |
End of word |
Regular Expressions Character Classes
| \c |
Control character |
| \s |
White space |
| \S |
Not white space |
| \d |
Digit |
| \D |
Not digit |
| \w |
Word |
| \W |
Not word |
| \x |
Hexadecimal digit |
| \O |
Octal digit |
Regular Expressions POSIX
| [:upper:] |
Upper case letters |
| [:lower:] |
Lower case letters |
| [:alpha:] |
All letters |
| [:alnum:] |
Digits and letters |
| [:digit:] |
Digits |
| [:xdigit:] |
Hexadecimal digits |
| [:punct:] |
Punctuation |
| [:blank:] |
Space and tab |
| [:space:] |
Blank characters |
| [:cntrl:] |
Control characters |
| [:graph:] |
Printed characters |
| [:print:] |
Printed characters and spaces |
| [:word:] |
Digits, letters and underscore |
Regular Expressions Assertions
| ?= |
Lookahead assertion |
| ?! |
Negative lookahead |
| ?<= |
Lookbehind assertion |
| ?!= or ?<! |
Negative lookbehind |
| ?> |
Once-only Subexpression |
| ?() |
Condition [if then] |
| ?()| |
Condition [if then else] |
| ?# |
Comment |
| |
Regular Expressions Quantifiers
| * |
0 or more |
| + |
1 or more |
| ? |
0 or 1 |
| {3} |
Exactly 3 |
| {3,} |
3 or more |
| {3,5} |
3, 4 or 5 |
Add a ? to a quantifier to make it ungreedy.
Regular Expression Common Metacharacters
| ^ |
[ |
. |
| $ |
{ |
* |
| ( |
\ |
+ |
| ) |
| |
? |
| < |
> |
|
The escape character is usually the backslash - \.
Regular Expressions Special Characters
| \n |
New line |
| \r |
Carriage return |
| \t |
Tab |
| \v |
Vertical tab |
| \f |
Form feed |
| \xxx |
Octal character xxx |
| \xhh |
Hex character hh |
| |
Regular Expressions Groups and Ranges
| . |
Any character except new line (\n) |
| (a|b) |
a or b |
| (...) |
Group |
| (?:...) |
Passive (non-capturing) group |
| [abc] |
Range (a or b or c) |
| [^abc] |
Not a or b or c |
| [a-q] |
Letter from a to q |
| [A-Q] |
Upper case letter from A to Q |
| [0-7] |
Digit from 0 to 7 |
| \n |
nth group/subpattern |
Ranges are inclusive.
Regular Expressions Pattern Modifiers
| g |
Global match |
| i |
Case-insensitive |
| m |
Multiple lines |
| s |
Treat string as single line |
| x |
Allow comments and white space in pattern |
| e |
Evaluate replacement |
| U |
Ungreedy pattern |
Regular Expressions String Replacement
| $n |
nth non-passive group |
| $2 |
"xyz" in /^(abc(xyz))$/ |
| $1 |
"xyz" in /^(?:abc)(xyz)$/ |
| $` |
Before matched string |
| $' |
After matched string |
| $+ |
Last matched string |
| $& |
Entire matched string |
Some regex implementations use \ instead of $.
|
Favourited by 37 Members:
Comments
Your regex cheatsheet says ^ is "Start of string" and $ is "End of string"
Hi Doug. I've clarified that section. Thanks for the heads up :)
It looks unchanged to me. ^ still says it's "start of string" and $ still says "end of string". They should be reversed, right?
Actually, I'm sorry, you're right! I was pretty confused there, sorry if I've confused anyone else.
No worries Keith - easy mistake to make!
Can you tag this as 'regex'? Searching for regex on cheatography yields two other results, but not this one.
Would you add \Q... \E to the cheatsheet?
It would be nice to see the list of white space characters
Great resource! Thanks for putting this together and sharing.
Add a Comment
You are posting a reply. Cancel Reply.
Contents
A quick reference guide for regular expressions (regex), including symbols, ranges, grouping, assertions and some sample patterns to get you started.
Cheatographer
www.addedbytes.com
More by DaveChild
Cheat Sheet Stats
Tags
Related (shares tags with):
Thumbnail