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.

image with no caption

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

g

Global (match multiple times; the precise meaning of this varies with the method)

i

Insensitive (ignore character case)

m

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.