RegExp u Modifier
Description
The u (unicode) flag enables full Unicode support in the regular expression.
It treats the pattern as a sequence of Unicode code points, which is important for correctly handling characters outside the Basic Multilingual Plane (BMP).
By default, JavaScript and regex treats 4-byte Unicode characters (like emojis or less common symbols) as two separate 2-byte "surrogate" code units.
The u flag ensures these are correctly interpreted as a single Unicode code point, preventing unexpected matching behavior.
Syntax
new RegExp("regexp", "u")
or simply:
/regexp/u
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() |
Browser Support
/regexp/u
is an ECMAScript6 (ES6 2015) feature.
JavaScript 2015 is fully supported in all modern browsers since June 2017:
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
May 2016 | Apr 2017 | Jun 2017 | Sep 2016 | Jun 2016 |