10/29/11

Regular Expressions Cheat Sheet


Regular Expressions Cheat Sheet by DaveChild

Source: 
cheatography.com

Regular Expressions Anchors

^Start of string, or start of line in multi-line pattern
\AStart of string
$End of string, or end of line in multi-line pattern
\ZEnd of string
\bWord boundary
\BNot word boundary
\<Start of word
\>End of word

Regular Expressions Character Classes

\cControl character
\sWhite space
\SNot white space
\dDigit
\DNot digit
\wWord
\WNot word
\xHexadecimal digit
\OOctal 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

\nNew line
\rCarriage return
\tTab
\vVertical tab
\fForm feed
\xxxOctal character xxx
\xhhHex 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
\nnth group/subpattern
Ranges are inclusive.

Regular Expressions Pattern Modifiers

gGlobal match
iCase-insensitive
mMultiple lines
sTreat string as single line
xAllow comments and white space in pattern
eEvaluate replacement
UUngreedy pattern

Regular Expressions String Replacement

$nnth 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 $.

No comments:

Quick HTTP to HTTPS - Apache2

There are several methods for redirecting your Apache-based website visitors who might type your servers URL using the plain (non-secure) HT...