| Regex Character |
Description |
| \ |
Escapes the next character to be treated as a special character, a literal character, a backreference, or an octal escape character. For example, “n" matches the character "n". "\n" matches a newline character. The sequence "\\" matches "\" and "\(" matches "(". |
| ^ |
Matches the start of the input string. If the Multiline property of the RegExp object is set, ^ also matches positions following "“\n" or "\r". |
| $ |
Matches the end of the input string. If the Multiline property of the RegExp object is set, $ also matches positions preceding "“\n" or "\r". |
| * |
Matches the preceding subexpression zero or more times. For example, zo* can match "“z" and "zoo". * is equivalent to {0,}. |
| + |
Matches the preceding subexpression one or more times. For example, "“zo+" can match "zo" and "zoo", but cannot match "z". + is equivalent to {1,}. |
| ? |
Matches the preceding subexpression zero or one time. For example, "“do(es)?" can match "does" or "do" in "does". ? is equivalent to {0,1}. |
| {n} |
n is a non-negative integer. Matches exactly n times. For example, "“o{2}" cannot match "Bob"'s "o", but can match two o's in "food". |
| {n,} |
n is a non-negative integer. Matches at least n times. For example, "“o{2,}" cannot match "Bob"'s "o", but can match all o's in "foooood". "o{1,}" is equivalent to "o+". "o{0,}" is equivalent to "o*". |
| {n,m} |
n and m are non-negative integers, with n <= m. Matches at least n times and at most m times. For example, "“o{1,3}" will match the first three o's in "fooooood". "o{0,1}" is equivalent to "o?". Be aware that there should be no spaces between the comma and the two numbers. |
| ? |
When this character follows any other quantifiers (*, +, ?, {n}, {n,}, {n,m}), the matching pattern is non-greedy. The non-greedy mode matches as few characters as possible, whereas the default greedy mode matches as many characters as possible. For example, for the string "“oooo", "o+?" will match a single "o", while "o+" will match all "o". |
| . |
Matches any single character except for "“\n". To match any character including "“\n", use a pattern like "(.|\n)". |
| (pattern) |
Matches the pattern and captures the match. The captured match can be retrieved from the Matches collection produced; in VBScript, this is done using the SubMatches collection, while in JScript it uses the $0…$9 properties. To match parenthesis characters, use "“\(" or "\)". |
| (?:pattern) |
Matches the pattern but does not capture the result, meaning this is a non-capturing match and will not be stored for later use. This is useful when using the or character "“(|)" to combine various parts of a pattern. For example "industr(?:y|ies)" is a more concise expression than "industry|industries". |
| (?=pattern) |
Positive lookahead assertion, matches a string only at the start of a string that matches the pattern. This is a non-capturing match, meaning this match does not need to be stored for later use. For example, "“Windows(?=95|98|NT|2000)" can match "Windows" in "Windows2000", but cannot match "Windows" in "Windows3.1". Lookahead does not consume characters, meaning after a match occurs, the next search for a match begins immediately after the last successful match. |
| (?!pattern) |
Negative lookahead assertion, matches the search string only at the start of a string that does not match the pattern. This is also a non-capturing match. For example, "“Windows(?!95|98|NT|2000)" can match "Windows" in "Windows3.1", but cannot match "Windows" in "Windows2000". Lookahead doesn’t consume characters as well. |
| (?<=pattern) |
Positive lookbehind assertion, akin to positive lookahead assertion but in the opposite direction. For example, "“(?<=95|98|NT|2000)Windows" can match "Windows" in "2000Windows", but cannot match "Windows" in "3.1Windows". |
| (?<!pattern) |
Negative lookbehind assertion, analogous to negative lookahead assertion but in the opposite direction. For example, "“(?<!95|98|NT|2000)Windows" can match "Windows" in "3.1Windows", but cannot match "Windows" in "2000Windows". |
| x|y |
Matches x or y. For example, "“z|food" can match "z" or "food". "(z|f)ood" matches "zood" or "food". |
| [xyz] |
Character class. Matches any one of the included characters. For example, "“[abc]" can match the "a" in "plain". |
| [^xyz] |
Negation character class. Matches any character not included. For example, "“[^abc]" can match the "p" in "plain". |
| [a-z] |
Character range. Matches any character in the specified range. For example, "“[a-z]" can match any lowercase letter character from "a" to "z". |
| [^a-z] |
Negation character range. Matches any character not within the specified range. For example, "“[^a-z]" can match any character not within the range from "a" to "z". |
| \b |
Matches a word boundary, which is the position between a word and whitespace. For example, "“er\b" can match "never"'s "er", but cannot match "verb"'s "er". |
| \B |
Matches a non-word boundary. "“er\B" can match "verb"'s "er", but cannot match "never"'s "er". |
| \cx |
Matches the control character specified by x. For example, \cM matches a Control-M or carriage return character. x must be one of A-Z or a-z. Otherwise, c is taken as a literal "c" character. |
| \d |
Matches a digit character. Equivalent to [0-9]. |
| \D |
Matches a non-digit character. Equivalent to [^0-9]. |
| \f |
Matches a form feed character. Equivalent to \x0c and \cL. |
| \n |
Matches a newline character. Equivalent to \x0a and \cJ. |
| \r |
Matches a carriage return character. Equivalent to \x0d and \cM. |
| \s |
Matches any whitespace character, including space, tab, form feed, etc. Equivalent to [ \f\n\r\t\v]. |
| \S |
Matches any non-whitespace character. Equivalent to [^ \f\n\r\t\v]. |
| \t |
Matches a tab character. Equivalent to \x09 and \cI. |
| \v |
Matches a vertical tab character. Equivalent to \x0b and \cK. |
| \w |
Matches any word character, including underscore. Equivalent to "“[A-Za-z0-9_]". |
| \W |
Matches any non-word character. Equivalent to "“[^A-Za-z0-9_]". |
| \xn |
Matches n, where n is a hexadecimal escape value. The hexadecimal escape value must be exactly two digits long. For example, "“\x41" matches "A". "\x041" is equivalent to "\x04&1". ASCII encoding can be used in regular expressions. |
| \num |
Matches num, where num is a positive integer. Used for referencing captured matches. For example, "“(.)\1" matches two consecutive identical characters. |
| \n |
Indicates an octal escape value or a backreference. If n has at least n captured subexpressions before it, then n is a backreference. Otherwise, if n is an octal digit (0-7), then n is an octal escape value. |
| \nm |
Indicates an octal escape value or a backreference. If nm has at least nm captured subexpressions before it, then nm is a backreference. If nm has at least n captured, then n is a backreference followed by the literal m. If neither condition is met, if both n and m are octal digits (0-7), then nm matches the octal escape value nm. |
| \nml |
If n is an octal digit (0-3), and both m and l are octal digits (0-7), then matches the octal escape value nml. |
| \un |
Matches n, where n is a Unicode character represented by four hexadecimal digits. For example, \u00A9 matches the copyright symbol (©). |