bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/JavaScript/Working with Data
JavaScript•Working with Data

JavaScript RegExp

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind JavaScript RegExp?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ text = "Visit ExampleSite";
3Order

Put the learning moves in the order that makes the concept easiest to apply.

Using String Methods
Regular Expression Syntax
Regular Expressions

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

let text = "Visit ExampleSite";
let n = text.search(/ExampleSite/i);

Example explained

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()

Runnable example

let text = "Visit ExampleSite";
let n = text.match(/ExampleSite/);

Using String replace()

Runnable example

let text = "Visit Microsoft!";
let result = text.replace(/Microsoft/i, "ExampleSite");

Using String search()

Runnable example

let text = "Visit ExampleSite";
let n = text.search(/ExampleSite/);

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

let text = "Black, white, red, green, blue, yellow.";
let result = text.match(/red|green|blue/g);

JavaScript Regex Flags

/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

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

let text = "Visit ExampleSite";
const pattern = /ExampleSite/i;
let result = text.match(pattern);

Learn More

JavaScript RegExp Flags

RexExp Metacharacters

// 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

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

let text = "Give 100%!";
const pattern = /\w/g;
let result = text.match(pattern);

Learn More

JavaScript RegExp Metacharacters

JavaScript RegExp Quantifiers

// Match at least one zero
const pattern = /0+/;

Quantifiers define the numbers of characters or expressions to match.

These are the most common

CodeDescription
x*Matches zero or more occurrences of x
x?Matches zero or one occurrences of x
x{n}Matches n occurences of x

The ? Quantifier

x ? matches zero or one occurrences of x.

Example

let text = "1, 100 or 1000?";
const pattern = /10?/g;
let result = text.match(pattern);

Learn More

JavaScript RegExp Quantifiers

Regular Expression Assertions

// Match beginning of string
const pattern = /^ExampleSite/;
// Match end of string
const pattern = /ExampleSite$/;

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
(?<=...)LookbehindMatches the previous string

RegExp ^ Metacharacter

The ^ metacharacter matches the beginning of a string.

Examples

const pattern = /^ExampleSite/;
let text = "ExampleSite Tutorial";
let result = pattern.test(text); // true

RegExp $ Metacharacter

The $ metacharacter matches the end of a string.

Runnable example

const pattern = /ExampleSite$/;
let text = "Hello ExampleSite";
let result = pattern.test(text); // true

Learn More

JavaScript RegExp Assertions

JavaScript RegExp Character Classes

// 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

Example [0-9]

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 Quantifiers

JavaScript RegExp Patterns

JavaScript RegExp Objects

JavaScript RegExp Methods

Previous

JavaScript Math Object

Next

JavaScript String Templates