Character | Description |
---|
\ | Marks the next character as a special character, a literal, a backreference, or an octal escape. For example, "n" matches the character "n". "\n" matches a newline. The sequence "\\" matches "\" and "\(" matches "(". |
---|
^ | Matches the beginning of the input string. If the RegExp object's Multiline property is set, ^ also matches the position after "\n" or "\r". |
---|
$ | Matches the end of the input string. If the RegExp object's Multiline property is set, $ also matches the position before "\n" or "\r". |
---|
* | Matches the preceding subexpression zero or more times. For example, "zo*" matches "z" as well as "zoo". * is equivalent to {0,}. |
---|
+ | Matches the preceding subexpression one or more times. For example, "zo+" matches "zo" and "zoo" but not "z". + is equivalent to {1,}. |
---|
? | Matches the preceding subexpression zero or one time. For example, "do(es)?" matches "do" or "does". ? is equivalent to {0,1}. |
---|
{n} | n is a non-negative integer. Matches exactly n times. For example, "o{2}" does not match "Bob" but matches "food". |
---|
{n,} | n is a non-negative integer. Matches at least n times. For example, "o{2,}" does not match "Bob" but matches all "o"s in "foooood". "o{1,}" is equivalent to "o+". "o{0,}" is equivalent to "o*". |
---|
{n,m} | m and n are non-negative integers, where n <= m. Matches at least n times and at most m times. For example, "o{1,3}" matches the first three "o"s in "fooooood". "o{0,1}" is equivalent to "o?". |
---|
? | When this character immediately follows any other quantifier (*, +, ?, {n}, {n,}, {n,m}), the matching pattern is non-greedy. The non-greedy pattern matches as little of the searched string as possible, whereas the default greedy pattern matches as much of the searched string as possible. For example, for the string "oooo", "o+?" matches a single "o", while "o+" matches all "o"s. |
---|
. | Matches any single character except "\n". To match any character including "\n", use a pattern like "[.\n]". |
---|
(pattern) | Matches pattern and captures the match. The captured match can be obtained from the resulting Matches collection, using the SubMatches collection in VBScript or $0...$9 properties in JScript. To match a parenthesis character, use "\(“ or “\)”. |
---|
(?:pattern) | Matches pattern but does not capture the match; this is a non-capturing match, and it is not stored for later use. This is useful when combining parts of a pattern with the "or" character (|). For example, “industr(?:y|ies)” is a shorter expression than “industry|industries”. |
---|
(?=pattern) | A positive lookahead that matches the search string at any point where pattern begins. This is a non-capturing match, meaning the match is not stored for later use. For example, "Windows(?=95|98|NT|2000)" matches "Windows" in "Windows2000" but not "Windows" in "Windows3.1". Lookaheads do not consume characters, meaning that after one match is found, the search immediately begins again after the last match, rather than after the character containing the lookahead. |
---|
(?!pattern) | A negative lookahead that matches the search string at any point where pattern does not begin. This is a non-capturing match, meaning the match is not stored for later use. For example, "Windows(?!95|98|NT|2000)" matches "Windows" in "Windows3.1" but not "Windows" in "Windows2000". Lookaheads do not consume characters, meaning that after one match is found, the search immediately begins again after the last match, rather than after the character containing the lookahead. |
---|
x|y | Matches x or y. For example, "z|food" matches "z" or "food". "(z|f)ood" matches "zood" or "food". |
---|
[xyz] | Character set. Matches any one of the contained characters. For example, “[abc]” matches “a” in “plain”. |
---|
[^xyz] | Negated character set. Matches any character not contained. For example, “[abc]” matches “p” in “plain”. |
---|
[a-z] | Character range. Matches any character within the specified range. For example, “[a-z]” matches any lowercase letter between “a” and “z”. |
---|
[^a-z] | Negated character range. Matches any character not within the specified range. For example, “[a-z]” matches any character not between “a” and “z”. |
---|
\b | Matches a word boundary, which is the position between a word and a space. For example, “er\b” matches “er” in “never”, but not “er” in “verb”. |
---|
\B | Matches a non-word boundary. “er\B” matches “er” in “verb”, but not “er” in “never”. |
---|
\cx | Matches the control character indicated by x. For example, \cM matches a Control-M or carriage return. x must be one of A-Z or a-z. Otherwise, c is treated 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. Equivalent to \x0c and \cL. |
---|
\n | Matches a newline. Equivalent to \x0a and \cJ. |
---|
\r | Matches a carriage return. 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. Equivalent to \x09 and \cI. |
---|
\v | Matches a vertical tab. 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. Hexadecimal escape values must be exactly two digits long. For example, “\x41” matches “A”. “\x041” is equivalent to “\x04&1”. Regular expressions can use ASCII encoding. |
---|
\num | Matches num, where num is a positive integer. References the matched subexpression. For example, “(.)\1” matches two consecutive identical characters. |
---|
\n | Identifies an octal escape value or a backreference. If \n has at least n obtained subexpressions, n is a backreference. Otherwise, if n is an octal digit (0-7), it is an octal escape value. |
---|
\nm | Identifies an octal escape value or a backreference. If \nm has at least nm obtained subexpressions, nm is a backreference. If \nm has at least n obtained, n is a backreference followed by literal m. If none of these conditions are met, and both n and m are octal digits (0-7), \nm matches octal escape value nm. |
---|
\nml | If n is an octal digit (0-3), and m and l are both octal digits (0-7), matches 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 (©). |
---|