bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

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

JavaScript RegExp Patterns

Flash cards

Review the key moves

1/3
Core idea

What is the main idea behind JavaScript RegExp Patterns?

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?

2Order

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

A character class is one or more characters enclosed in square brackets [ ] :
Flags can be added to a regexp pattern to Modify its behavior:
RexExp Quantifiers

Revised July 2025

Flags can be added to a regexp pattern to Modify its behavior:

FlagDescription
/dPerforms substring matches (new 2022)
/gPerforms a global match (find all)
/iPerforms case-insensitive matching
/mPerforms multiline matching
/sAllows . (dot) to match line terminators (new 2018)
/uEnables Unicode support (new 2015)
/vAn upgrade to the /u flag for better Unicode support (new 2025)
/yPerforms a "sticky" search (new 2015)

Revised July 2025

A character class is one or more characters enclosed in square brackets [ ] :

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

Revised July 2025

Metacharacters are characters with a special meaning:

abMatches a or b
.Matches any (wildcard) character except line terminators
\wMatches word characters (alphanumeric and _)
\WMatches non-word characters
\dMatches digits (0-9)
\DMatches non-digit characters
\sMatches whitespace characters (space, tab, newline)
\SMatches non-whitespace character
[\b]Matches backspace characters
\0Matches NULL characters
\nMatches new line characters
\fMatches form feed characters
\rMatches carriage returns characters
\tMatches tab characters
\vMatches vertical tab characters
\p{}Matches characters with given Unicode Property (new 2018)
\P{}Matches character NOT with the given Unicode Property (new 2018)
\dddMatches a character by the octal number ddd
\xhhMatches a character by the hexadecimal number hh
\uhhhhMatches a Unicode character by the hex number hhhh

Revised July 2025

Assertions consist of Boundaries and Lookarounds .

Boundaries matches at the beginning or the end of lines and words, Lookarounds mathes previos or subsequent patterns.

CharDescription
^Matches from beginning of a string, or the beginning of a line if the m (multiline) flag is set
$Matches from the end of a string, or the end of a line if the m (multiline) flag is set
\bMatches from the beginning or end of a word
\BMatches NOT from the beginning or end of a word
(?=...)Matches the subsequent string
(?!...)Matches NOT the subsequent string
(?<=...)Matches the previous string (new 2018)
(?<!...)Matches NOT the previous string (new 2018)

RexExp Quantifiers

Quantifiers indicate the numbers of characters or expressions to match:

CodeDescription
x+Matches at least one x
x*Matches zero or more occurrences of x
x?Matches zero or one occurrences of x
x{n}Matches n occurences of x
x{n,m}Matches from n to m occurences of x
x{n,}Matches n or more occurences of x

Previous

RegExp Quantifiers

Next

JavaScript RegExp Objects