# Useful regular expressions cheat sheet

Regular expressions are really handy if we can use them correctly. It can reduce a lot of code and make the code smarter. The regular expression is nothing but a pattern matching inside a string. Following are some really useful regular expression cheat sheet that every developer should know:

## 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

## Character Classes

 \c Control character \s White space \S Not white space \d Digit \D Not digit \w Word \W Not word \x Hexade­cimal digit \O Octal digit

## Quanti­fiers

 * 0 or more {3} Exactly 3 + 1 or more {3,} 3 or more ? 0 or 1 {3,5} 3, 4 or 5

## Groups and Ranges

 . Any character except new line (\n) (a|b) a or b (…) Group (?:…) Passive (non-c­apt­uring) group [abc] Range (a or b or c) [^abc] Not (a or b or c) [a-q] Lower case letter from a to q [A-Q] Upper case letter from A to Q [0-7] Digit from 0 to 7 \x Group/­sub­pattern number “­x”

## Escape Sequences

 \ Escape following character \Q Begin literal sequence \E End literal sequence

## Posix

 [:upper:] Upper case letters [:lower:] Lower case letters [:alpha:] All letters [:alnum:] Digits and letters [:digit:] Digits [:xdigit:] Hexade­cimal digits [:punct:] Punctu­ation [:blank:] Space and tab [:space:] Blank characters [:cntrl:] Control characters [:graph:] Printed characters [:print:] Printed characters and spaces [:word:] Digits, letters and underscore

## Pattern Modifiers

 g Global match i * Case-i­nse­nsitive m * Multiple lines s * Treat string as single line x * Allow comments and whitespace in pattern e * Evaluate replac­ement U * Ungreedy pattern

## String Replac­ement

 \$n nth non-pa­ssive group \$2 “­xyz­” in /^(abc­(xy­z))\$/ \$1 “­xyz­” in /^(?:a­bc)­(xyz)\$/ \$` Before matched string \$’ After matched string \$+ Last matched string \$& Entire matched string

## Assertions

 ?= Lookahead assertion ?! Negative lookahead ?<= Lookbehind assertion ?!= or ? Once-only Subexp­ression ?() Condition [if then] ?()| Condition [if then else] ?# Comment

## Common Metach­ara­cters

 ^ [ . \$ { * ( \ + ) | ? < >

## Special Characters

 \n New line \r Carriage return \t Tab \v Vertical tab \f Form feed \xxx Octal character xxx \xhh Hex character hh
Reference:
Share