More »
Loading...

Anchors

Anchros

  • ^
  • 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

Quantifiers

Quantifiers

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

Character

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

Special

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

Examples

Metacharacter

  • ^abc
  • abc, abcdefg, abc123, ...
  • abc$
  • abc, endsinabc, 123abc, ...
  • a.c
  • abc, aac, acc, adc, aec, ...
  • bill|ted
  • ted, bill
  • ab{2}c
  • abbc
  • a[bB]c
  • abc, aBc
  • (abc){2}
  • abcabc
  • ab*c
  • ac, abc, abbc, abbbc, ...
  • ab+c
  • abc, abbc, abbbc, ...
  • ab?c
  • ac, abc
  • a\sc
  • a c

Sample

  • ([A-Za-z0-9-]+)
  • Letters, numbers and hyphens
  • (\d{1,2}\/\d{1,2}\/\d{4})
  • Date (e.g. 21/3/2006)
  • ([^\s]+(?=\.(jpg|gif|png))\.\2)
  • jpg, gif or png image
  • (^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$)
  • Any number from 1 to 50 inclusive
  • (#?([A-Fa-f0-9]){3}(([A-Fa-f0-9]){3})?)
  • Valid hexadecimal colour code
  • ((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,15})
  • 8 to 15 character string with at least one upper case letter, one lower case letter, and one digit (useful for passwords).
  • (\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6})
  • Email addresses
  • (\<(/?[^\>]+)\>)
  • HTML Tag

POSIX

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

Groups

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]
  • Letter from a to q
  • [A-Q]
  • Upper case letter from A to Q
  • [0-7]
  • Digit from 0 to 7
  • \n
  • nth group/-sub-pattern

Modifiers

Modifiers

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

String

Replacement

  • $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

Assertions

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