Regular Expressions Reference Sheet



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$ matches any string that ends with cat


Matches any matches catT and cat2 but not catty


Bracket expression. Matches one of any characters[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 matches be or bee but not b


Preceeding item must match zero or more* 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


Bound. Specifies exact number of times for the preceeding item to match.[0-9]{3} matches any three digits


Bound. Specifies minimum number of times for the preceeding item to match.[0-9]{3,} matches any three or more digits


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



alphanumeric character[[:alnum:]]{3} matches any three letters or numbers, like 7Ds


alphabetic character, any case[[:alpha:]]{5} matches five alphabetic characters, any case, like aBcDe


space and tab[[:blank:]]{3,5} matches any three, four, or five spaces and tabs


digits[[:digit:]]{3,5} matches any three, four, or five digits, like 3, 05, 489


lowercase alphabetics[[:lower:]] matches a but not A


punctuation characters[[:punct:]] matches ! or . or , but not a or 3


all whitespace characters, including newline and carriage return[[:space:]] matches any space, tab, newline, or carriage return


uppercase alphabetics[[:upper:]] matches A but not a

Perl-Style Metacharacters



Default delimiters for pattern/colou?r/ matches color or colour


Append to pattern to specify a case insensitive match/colou?r/i matches COLOR or Colour


A word boundary, the spot between word (\w) and non-word (\W) characters/\bfred\b/i matches Fred but not Alfred or Frederick


A non-word boundary/fred\B/i matches Frederick but not Fred


A single digit character/a\db/i matches a2b but not acb


A single non-digit character/a\Db/i matches aCb but not a2b


The newline character. (ASCII 10)/\n/ matches a newline


The carriage return character. (ASCII 13)/\r/ matches a carriage return


A single whitespace character/a\sb/ matches a b but not ab


A single non-whitespace character/a\Sb/ matches a2b but not a b


The tab character. (ASCII 9)/\t/ matches a tab.


A single word character - alphanumeric and underscore/\w/ matches 1 or _ but not ?


A single non-word character/a\Wb/i matches a!b but not a2b