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 »
Definition and Usage
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 | IE | Edge | Firefox | Safari | Opera |
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:
Example | Description |
---|---|
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() |