# Regular Expressions Cheat Sheet

***Taken from http://krijnhoetmer.nl/stuff/regex/cheat-sheet/ who took it from http://www.crazygrrl.com/weav/reference.php3***

Basic Syntax

^The pattern has to appear at the beginning of a string.^cat matches any string that begins with cat
$The pattern has to appear at the end of a string.cat$ matches any string that ends with cat
.Matches any character.cat. matches catT and cat2 but not catty
[]Bracket expression. Matches one of any characters enclosed.gr[ae]y matches gray or grey
[^]Negates a bracket expression. Matches one of any characters EXCEPT those enclosed.1[^02] matches 13 but not 10 or 12
[-]Range. Matches any characters within the range.[1-9] matches any single digit EXCEPT 0
?Preceeding item must match one or zero times.colou?r matches color or colour but not colouur
+Preceeding item must match one or more times.be+ matches be or bee but not b
*Preceeding item must match zero or more times.be* matches b or be or beeeeeeeeee
()Parentheses. Creates a substring or item that metacharacters can be applied toa(bee)?t matches at or abeet but not abet
{n}Bound. Specifies exact number of times for the preceeding item to match.[0-9]{3} matches any three digits
{n,}Bound. Specifies minimum number of times for the preceeding item to match.[0-9]{3,} matches any three or more digits
{n,m}Bound. Specifies minimum and maximum number of times for the preceeding item to match.[0-9]{3,5} matches any three, four, or five digits
|Alternation. One of the alternatives has to match.July (first|1st|1) will match July 1st but not July 2

POSIX Character Classes

[:alnum:]alphanumeric character[[:alnum:]]{3} matches any three letters or numbers, like 7Ds
[:alpha:]alphabetic character, any case[[:alpha:]]{5} matches five alphabetic characters, any case, like aBcDe
[:blank:]space and tab[[:blank:]]{3,5} matches any three, four, or five spaces and tabs
[:digit:]digits[[:digit:]]{3,5} matches any three, four, or five digits, like 3, 05, 489
[:lower:]lowercase alphabetics[[:lower:]] matches a but not A
[:punct:]punctuation characters[[:punct:]] matches ! or . or , but not a or 3
[:space:]all whitespace characters, including newline and carriage return[[:space:]] matches any space, tab, newline, or carriage return
[:upper:]uppercase alphabetics[[:upper:]] matches A but not a

Perl-Style Metacharacters

//Default delimiters for pattern/colou?r/ matches color or colour
iAppend to pattern to specify a case insensitive match/colou?r/i matches COLOR or Colour
\bA word boundary, the spot between word (\w) and non-word (\W) characters/\bfred\b/i matches Fred but not Alfred or Frederick
\BA non-word boundary/fred\B/i matches Frederick but not Fred
\dA single digit character/a\db/i matches a2b but not acb
\DA single non-digit character/a\Db/i matches aCb but not a2b
\nThe newline character. (ASCII 10)/\n/ matches a newline
\rThe carriage return character. (ASCII 13)/\r/ matches a carriage return
\sA single whitespace character/a\sb/ matches a b but not ab
\SA single non-whitespace character/a\Sb/ matches a2b but not a b
\tThe tab character. (ASCII 9)/\t/ matches a tab.
\wA single word character - alphanumeric and underscore/\w/ matches 1 or _ but not ?
\WA single non-word character/a\Wb/i matches a!b but not a2b

for more cool stuff got to donovanh.com!, or for more infor on Regualar Expressions go to http://www.regular-expressions.info/