Regular expression patterns
Summary of util.Regexp.compile() pattern syntax.
Defining regular expressions in strings literals
Regular expression often use the backslash character to start a pattern element. For example, the
backslash followed by the lowercase letter d (\d) expresses a digit at the given
position.
Consider using back quotes as string delimiters for regular expressions: This will define a raw
string literal without having backslash interpreted as the escape character as in single or double
quoted string literals:
LET re = util.Regexp.compile(`^\d\d$`)For more details, see Text literals.
Character classes
| Syntax | Description | 
|---|---|
. (dot) | 
Any single character except '\n', '\r'. | 
\d | 
Any digit. Equivalent to [0-9]. | 
\D | 
Any character that is not a digit. Equivalent to [^0-9]. | 
\w | 
ASCII letter, digit or underscore. Equivalent to [A-Za-z0-9_]. | 
\W | 
Any character that is not an ASCII letter, digit or underscore. Equivalent to
[^A-Za-z0-9_]. | 
\s | 
Any white space character, including space, tab, form feed, line feed, and other Unicode spaces. | 
\S | 
Any character that is not a white space. | 
\b | 
The boundary of a word (start-of-word or end-of-word) | 
\B | 
Not the boudary of a word (inverse of \b) | 
[\b] | 
The backspace character (BS, ^H, ASCII
08). | 
\t | 
An horizontal tab. | 
\r | 
A carriage return. | 
\n | 
A linefeed. | 
\v | 
A vertical tab. | 
\f | 
A form-feed. | 
\cx | 
The control character corresponding to x. | 
\xhh  | 
The character with the code hh (two hexadecimal digits). | 
Assertions
| Syntax | Description | 
|---|---|
^ | 
The beginning of the input. | 
$ | 
The end of the input. | 
\b | 
A word boundary. | 
\B | 
Not a word boundary. | 
\G | 
The end of the previous match. | 
x(?=y) | 
Matches "x" only if "x" is followed by "y". | 
x(?!y) | 
Matches "x" only if "x" is not followed by "y". | 
(?<=y)x | 
Matches "x" only if "x" is preceded by "y". | 
(?<!y)x | 
Matches "x" only if "x" is not preceded by "y". | 
Groups and ranges
| Syntax | Description | 
|---|---|
x|y | 
Matches either "x" or "y". | 
[x] | 
Matches any one of the enclosed characters. | 
[^x] | 
Matches anything that is not enclosed in the brackets. | 
(x) | 
Matches "x" and remembers the match. | 
(?:x) | 
Matches "x" but does not remember the match. | 
(?<name>x) | 
Matches "x" and stores it on the groups property of the returned matches under the name specified by name. The angle brackets (< and >) are required for the group name. | 
\nn | 
A back reference to the last substring matching the nn'st parenthetical in the regular expression (counting left parentheses). | 
\k<name> | 
A back reference to the last substring matching the named capture group specified by name. | 
Quantifiers
| Syntax | Description | 
|---|---|
x* | 
Matches the preceding item "x" 0 or more times. | 
x+ | 
Matches the preceding item "x" 1 or more times. Equivalent to
{1,}. | 
x? | 
Matches the preceding item "x" 0 or 1 times. If used immediately after any
of the quantifiers *, +, ?, or
{}, makes the quantifier non-greedy (matching the minimum number of times), as
opposed to the default, which is greedy (matching the maximum number of times). | 
x{n} | 
Where "n" is a positive integer, matches exactly "n" occurrences of the preceding item "x". | 
x{n,} | 
Where "n" is a positive integer, matches at least "n" occurrences of the preceding item "x". | 
x{n,m} | 
Where "n" is 0 or a positive integer, "m" is a positive
integer, and m>n, matches at least
"n" and at most "m" occurrences of the preceding item
"x". |