A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.cdn.mozilla.net/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/RegExp below:

RegExp() constructor - JavaScript | MDN

RegExp() constructor

Baseline Widely available

The RegExp() constructor creates RegExp objects.

For an introduction to regular expressions, read the Regular Expressions chapter in the JavaScript Guide.

Try it
const regex1 = /\w+/;
const regex2 = new RegExp("\\w+");

console.log(regex1);
// Expected output: /\w+/

console.log(regex2);
// Expected output: /\w+/

console.log(regex1 === regex2);
// Expected output: false
Syntax
new RegExp(pattern)
new RegExp(pattern, flags)
RegExp(pattern)
RegExp(pattern, flags)

Note: RegExp() can be called with or without new, but sometimes with different effects. See Return value.

Parameters
pattern

The text of the regular expression. This can also be another RegExp object.

flags Optional

If specified, flags is a string that contains the flags to add. Alternatively, if a RegExp object is supplied for the pattern, the flags string will replace any of that object's flags (and lastIndex will be reset to 0).

flags may contain any combination of the following characters:

d (indices)

Generate indices for substring matches.

g (global)

Find all matches rather than stopping after the first match.

i (ignore case)

When matching, casing differences are ignored.

m (multiline)

Treat beginning and end assertions (^ and $) as working over multiple lines. In other words, match the beginning or end of each line (delimited by \n or \r), not only the very beginning or end of the whole input string.

s (dotAll)

Allows . to match newlines.

u (unicode)

Treat pattern as a sequence of Unicode code points.

v (unicodeSets)

An upgrade to the u flag that enables set notation in character classes as well as properties of strings.

y (sticky)

Matches only from the index indicated by the lastIndex property of this regular expression in the target string. Does not attempt to match from any later indexes.

Return value

RegExp(pattern) returns pattern directly if all of the following are true:

In all other cases, calling RegExp() with or without new both create a new RegExp object. If pattern is a regex, the new object's source is pattern.source; otherwise, its source is pattern coerced to a string. If the flags parameter is not undefined, the new object's flags is the parameter's value; otherwise, its flags is pattern.flags (if pattern is a regex).

Exceptions
SyntaxError

Thrown in one of the following cases:

Examples Literal notation and constructor

There are two ways to create a RegExp object: a literal notation and a constructor.

The following three expressions create the same regular expression:

/ab+c/i;
new RegExp(/ab+c/, "i"); // literal notation
new RegExp("ab+c", "i"); // constructor

Before regular expressions can be used, they have to be compiled. This process allows them to perform matches more efficiently. There are two ways to compile and get a RegExp object.

The literal notation results in compilation of the regular expression when the expression is evaluated. On the other hand, the constructor of the RegExp object, new RegExp('ab+c'), results in runtime compilation of the regular expression.

Use a string as the first argument to the RegExp() constructor when you want to build the regular expression from dynamic input.

Building a regular expression from dynamic inputs
const breakfasts = ["bacon", "eggs", "oatmeal", "toast", "cereal"];
const order = "Let me get some bacon and eggs, please";

order.match(new RegExp(`\\b(${breakfasts.join("|")})\\b`, "g"));
// Returns ['bacon', 'eggs']
Specifications Browser compatibility See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4