Negative Lookahead x(?!y)
Example
let text = "Hello W3Schools";
let pattern = /W3Schools(?!Hello )/;
let result = pattern.test(text);
Try it Yourself »
let pattern = /W3Schools(?!Hello )/;
let result = pattern.test(text);
Description
/x(?!y)/ matches "x" if "x" is NOT followed by "y".
Syntax
new RegExp("x(?!y)")
or simply:
/x(?!y)/
or simply:
/x(?!y)/
Syntax with modifiers
new RegExp("x(?!y)", "g")
or simply:
/x(?!y)/g
or simply:
/x(?!y)/g
RegExp Lookarounds:
More Examples
Do a global, case insensitive search for "is" not followed by " all":
let text = "Is this all there is";
let pattern = /is(?! all)/gi;
Try it Yourself »
let pattern = /is(?! all)/gi;
Regular Expression Methods
Regular Expression Search and Replace can be done with different methods.
These are the most common:
String Methods
| Method | Description |
|---|---|
| match(regex) | Returns an Array of results |
| matchAll(regex) | Returns an Iterator of results |
| replace(regex) | Returns a new String |
| replaceAll(regex) | Returns a new String |
| search(regex) | Returns the index of the first match |
| split(regex) | Returns an Array of results |
RegExp Methods
| Method | Description |
|---|---|
| regex.exec() | Returns an Iterator of results |
| regex.test() | Returns true or false |
Browser Support
/x(?!y)/ is an ECMAScript1 (JavaScript 1997) feature.
It is supported in all browsers:
| Chrome | Edge | Firefox | Safari | Opera |