Construction
There are two ways to make a RegExp
object. The
preferred way, as we saw in the examples, is to use a regular expression
literal.
Regular expression literals are enclosed in slashes. This can be a little tricky because slash is also used as the division operator and in comments.
There are three flags that can be set on a RegExp
. They are indicated by the letters g
, i
, and m
, as listed in Table 7-1. The
flags are appended directly to the end of the RegExp
literal:
// Make a regular expression object that matches // a JavaScript string. var my_regexp = /"(?:\\.|[^\\\"])*"/g;
Table 7-1. Flags for regular expressions
Flag |
Meaning |
---|---|
|
Global (match multiple times; the precise meaning of this varies with the method) |
|
Insensitive (ignore character case) |
|
Multiline (^ and $ can match line-ending characters) |
The other way to make a regular expression is to use the RegExp
constructor. The constructor takes a string and compiles it
into a RegExp
object. Some care must be taken in
building the string because backslashes have a somewhat different meaning in regular
expressions than in string literals. It is usually necessary to double the
backslashes and escape the quotes:
// Make a regular expression object that matches // a JavaScript string. var my_regexp = new RegExp("\"(?:\\\\.|[^\\\\\\\"])*\"", 'g');
The second parameter is a string specifying the flags. The RegExp
constructor ...
Get JavaScript: The Good Parts now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.