JS TutorialLesson #90

JavaScript RegExp

A Regular Expression is a sequence of characters that forms a search pattern.

Regular Expressions

A Regular Expression is a sequence of characters that forms a search pattern.

Regex is a common shorthand for a regular expression.

JavaScript RegExp is an Object for handling Regular Expressions.

RegExp are be used for:

  • Text searching
  • Text replacing
  • Text validation

Example

Example Code

javascript
Try it Yourself
let text = "Visit EA Academy";

let n = text.search(/EA Academy/i);

Example explained:

/EA Academy/i is a regular expression.

EA Academy is a pattern (to be used in a search).

i is a modifier (modifies the search to be case-insensitive).


Regular Expression Syntax

/pattern/modifier flags


Using String Methods

Regular expressions are often used with the string methods:

MethodDescription
match(regex)Returns an Array of results
replace(regex)Returns a new String
search(regex)Returns the index of the first match

Using String match()

Example

Example Code

javascript
Try it Yourself
let text = "Visit EA Academy";

let n = text.match(/EA Academy/);

Using String replace()

Example

Example Code

javascript
Try it Yourself
let text = "Visit Microsoft!";

let result = text.replace(/Microsoft/i, "EA Academy");

Using String search()

Example

Example Code

javascript
Try it Yourself
let text = "Visit EA Academy";

let n = text.search(/EA Academy/);

RexExp Alternation (OR)

In a regular expression an alternation is denoted with a vertical line character |.

An alternation matches any of the alternatives separated with |.

Example

Example Code

javascript
Try it Yourself
let text = "Black, white, red, green, blue, yellow.";

let result = text.match(/red|green|blue/g);

JavaScript Regex Flags

Example

Example Code

javascript
Try it Yourself
/pattern/flags

Regular expression flags are parameters that can modify how a pattern is used, such as making it case-insensitive or global.

These are the most common:

FlagDescription
/gPerforms a global match (find all)
/iPerforms case-insensitive matching
/uEnables Unicode support (new 2015)

The /g Flag (Global)

The /g flag matches all occurrences of the pattern, rather than just the first one.

Example

Example Code

javascript
Try it Yourself
let text = "Is this all there is?";

const pattern = /is/g;

let result = text.match(pattern);

The /i Flag (Insensitive)

The /i flag makes a match case-insensitive: /abc/i matches "abc", "AbC", "ABC".

Example

Example Code

javascript
Try it Yourself
let text = "Visit EA Academy";

const pattern = /EA Academy/i;

let result = text.match(pattern);
Learn More: > JavaScript RegExp Flags

RexExp Metacharacters

Example

Example Code

javascript
Try it Yourself
// Match words

const pattern = /\w/;

Metacharacters are characters with a special meaning.

They can be used to match digits, words, spaces, and more.

These are the most common:

MetaDescription
\dMatches Digits
\wMatches Words
\sMatches Spaces

RegExp \d (digits) Metacharacter

The \d metacharacter matches digits.

Example

Example Code

javascript
Try it Yourself
let text = "Give 100%!";

const pattern = /\d/g;

let result = text.match(pattern);

RegExp \w (word) Metacharacter

The \w metacharacter matches word characters.

A word character is a character a-z, A-Z, 0-9, including _ (underscore).

Example

Example Code

javascript
Try it Yourself
let text = "Give 100%!";

const pattern = /\w/g;

let result = text.match(pattern);
Learn More: > JavaScript RegExp Metacharacters

JavaScript RegExp Quantifiers

Quantifiers define the numbers of characters or expressions to match.

Example

Example Code

javascript
Try it Yourself
const pattern = /lo+/;

The + means "one or more". The pattern matches:

  • lo
  • loo
  • looo

These are the most common quantifiers:

QuantifierDescription
x+Matches any string with at least one occurrences of x
x*Matches any string with zero or more occurrences of x
x?Matches any string with zero or one occurrences of x

The ? Quantifier

x? matches zero or one occurrences of x.

Example

Example Code

javascript
Try it Yourself
let text = "1, 100 or 1000?";

const pattern = /10?/g;

let result = text.match(pattern);
Learn More: > JavaScript RegExp Quantifiers

Regular Expression Assertions

Example

Example Code

javascript
Try it Yourself
// Match beginning of string

const pattern = /^EA Academy/;

// Match end of string

const pattern = /EA Academy$/;

Assertions matches Boundaries and Lookarounds:

String Boundaries and Word Boundaries.

Lookarounds: Lookaheads and Lookbehinds.

These are the most common:

SyntaxNameDescription
^String boundaryMatches the beginning of a string
$String boundaryMatches the end of a string
\bWord boundaryMatches the beginning or end of a word
(?=...)LookaheadMatches the subsequent string

| (?


RegExp ^ Metacharacter

The ^ metacharacter matches the beginning of a string.

Examples

Example Code

javascript
Try it Yourself
const pattern = /^EA Academy/;

let text = "EA Academy Tutorial";

let result = pattern.test(text); // true

RegExp $ Metacharacter

The $ metacharacter matches the end of a string.

Example

Example Code

javascript
Try it Yourself
const pattern = /EA Academy$/;

let text = "Hello EA Academy";

let result = pattern.test(text); // true
Learn More: > JavaScript RegExp Assertions

JavaScript RegExp Character Classes

Example

Example Code

javascript
Try it Yourself
// Match Digits

const pattern = /[0-9]/;

Character Classes are characters enclosed in square brackets [].

A character class matches any character from a set within brackets.

These are the most common:

ClassDescription
[a]Matches the character between the brackets
[abc]Matches all characters between the brackets
[a-z]Matches all characters in the range from a to z
[0-9]Matches all characters in the range from 0 to 9

Example [0-9]

Example Code

javascript
Try it Yourself
let text = "More than 1000 times";

const pattern = /[0-9]/g;

let result = text.match(pattern);
Learn More: > JavaScript RegExp Flags > JavaScript RegExp Character Classes > JavaScript RegExp Meta Characters > JavaScript RegExp Assertions > JavaScript RegExp Groups > JavaScript RegExp Quantifiers > JavaScript RegExp Patterns > JavaScript RegExp Objects > JavaScript RegExp Methods

Interactive Code Examples

JS Example 1

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
let text = "Visit EA Academy";

let n = text.search(/ea-academy/i);

Example 2

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
let text = "Visit EA Academy";

let n = text.match(/EA Academy/);

Example 3

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
let text = "Visit Microsoft!";

let result = text.replace(/Microsoft/i, "EA Academy");

Example 4

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
let text = "Visit EA Academy";

let n = text.search(/EA Academy/);

JS Example 5

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
let text = "Black, white, red, green, blue, yellow.";



let result = text.match(/red|green|blue/g);

Example 6

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
/pattern/flags