====== Pattern Matching with Regular Expressions ======
===== Defining =====
In JavaScript, regular expressions are accomplished by using RegExp objects. You can either define a regular expression with the RegExp() constructor, or by using the more common // syntax:
var pattern = /s$/;
var pattern = new RegExp("s$");
===== Literal Characters =====
^Character ^Matches ^
|Alphanumeric character |Itself |
|\0 |The NUL character (\u0000) |
|\t |Tab (\u0009) |
|\n |Newline (\u000A) |
|\v |Vertical tab (\u000B) |
|\f |Form feed (\u000C) |
|\r |Carriage return (\u000D) |
|\xnn |The Latin character specified by the hexidecimal number nn; for example, \x0A is the same as \n |
|\uxxxx |The Unicode character specified by the hexidecimal number xxxx; for example, \u0009 is the same as \t |
|\cX |The control character ''^X''; for example, \cJ is equivalent to the newline character \n |
===== Punctuation characters with special meaning =====
^ $ . * + ? = ! : | \ / ( ) [ ] { }
===== Character Classes =====
^Character ^Matches ^
|[...] |Any one character between the brackets |
|[''^''...] |Any one character not between the brackets |
|. |Any character except newline or another Unicode line terminator |
|\w |Any ASCII word character; Equivalent to [a-zA-Z0-9_] |
|\W |Any character that is not an ASCII word character; Equivalent to [''^''a-zA-Z0-9_] |
|\s |Any Unicode whitespace character |
|\S |Any character that is not Unicode whitespace; Note that \w and \S are not the same thing |
|\d |Any ASCII digit; Equivalent to [0-9] |
|\D |Any character other than an ASCII digit; Equivalent to [''^''0-9] |
|[\b] |A literal backspace (special case) |
===== Repetition =====
^Character ^Meaning ^
|{n,m} |Match the previous item at least n times but no more than m times |
|{n,} |Match the previous item n or more times |
|{n} |Match exactly n occurences of the previous item |
|? |Match zero or one ocurrences of the previous item. That is, the previous item is optional. Equivalent to {0,1}. |
|+ |Match one or more occurrences of the previous item. Equivalent to {1,} |
|* |Match zero or more occurrences of the previous item. Equivalent to {0,} |
FIXME - enter more table references