JavaScript RegExp m Modifier


Example

Do a multiline search for "is" at the beginning of each line in a string:

let text = `Is this
all there
is`

let pattern = /^is/m;
Try it Yourself »

Description

The "m" modifier specifies a multiline match.

It only affects the behavior of start ^ and end $.

^ specifies a match at the start of a string.

$ specifies a match at the end of a string.

With the "m" set, ^ and $ also match at the beginning and end of each line.

Browser Support

/regexp/m is an ECMAScript3 (ES3) feature.

ES3 (JavaScript 1999) is fully supported in all browsers:

Chrome Edge Firefox Safari Opera IE
Yes Yes Yes Yes Yes Yes

Syntax

new RegExp("regexp", "m")

or simply:

/regexp/m


Tip

The "m" modifier is case-sensitive and not global.

To perform a global, case-insensitive search, use "m" with "g" and "i".

Example

A global, multiline search for "is" at the beginning of each string line:

let text = `Is this
all there
is`

let pattern = /^is/gm;
Try it Yourself »

Example

A global, case-insensitive, multiline search for "is" at the beginning of each string line:

let text = `Is this
all there
is`

let pattern = /^is/gmi;
Try it Yourself »

Example

A global, multiline search for "is" at the end of each string line:

let text = `Is this
all there
is`

let text = "Is\nthis\nhis\n?";
let pattern = /is$/gm;
Try it Yourself »

Tip

Use the multiline property to check if the m modifier is set.

Check if the "m" modifier is set:

let pattern = /W3S/gi;
let result = pattern.multiline;
Try it Yourself »

Regular Expression Search Methods

In JavaScript, a regular expression text search, can be done with different methods.

With a pattern as a regular expression, these are the most common methods:

ExampleDescription
text.match(pattern)The String method match()
text.search(pattern)The String method search()
pattern.exec(text)The RexExp method exec()
pattern.test(text)The RegExp method test()

Copyright 1999-2023 by Refsnes Data. All Rights Reserved.