Dev Tools
NextJs Demo
Image Format ConverterBeautify & MinifyPDF Tools
ss

REGEX MEMO

Normal characters

ExpressionDescription
. or [^

] | any character excluding a newline or carriage return [A-Za-z] | alphabet [a-z] | lowercase alphabet [A-Z] | uppercase alphabet d or [0-9] | digit D or [^0-9] | non-digit _ | underscore w or [A-Za-z0-9_] | alphabet, digit or underscore W or [^A-Za-z0-9_] | inverse of w S | inverse of s

Whitespace characters

ExpressionDescription
space
 | tab

| newline

| carriage return s | space, tab, newline or carriage return

Character set

ExpressionDescription
[xyz]either x, y or z
[^xyz]neither x, y nor z
[1-3]either 1, 2 or 3
[^1-3]neither 1, 2 nor 3
  • Think of a character set as an OR operation on the single characters that are enclosed between the square brackets.
  • Use ^ after the opening [ to "negate" the character set.
  • Within a character set, . means a literal period.

Characters that require escaping

Outside a character set

ExpressionDescription
.period
^caret
$dollar sign
|pipe
\back slash
/forward slash
(opening bracket
)closing bracket
[opening square bracket
]closing square bracket
{opening curly bracket
}closing curly bracket

Inside a character set

ExpressionDescription
\back slash
]closing square bracket
  • A ^ must be escaped only if it occurs immediately after the opening [ of the character set.
  • A - must be escaped only if it occurs between two alphabets or two digits.

Quantifiers

ExpressionDescription
{2}exactly 2
{2,}at least 2
{2,7}at least 2 but no more than 7
  • | 0 or more
  • | 1 or more ? | exactly 0 or 1
  • The quantifier goes after the expression to be quantified.

Boundaries

ExpressionDescription
^start of string
$end of string
word boundary
  • How word boundary matching works:
    • At the beginning of the string if the first character is w.
    • Between two adjacent characters within the string, if the first character is w and the second character is W.
    • At the end of the string if the last character is w.

Matching

ExpressionDescription
foobar
foo(?=bar)match foo if it's before bar
foo(?!bar)match foo if it's not before bar
(?<=bar)foomatch foo if it's after bar
(?<!bar)foomatch foo if it's not after bar

Grouping and capturing

ExpressionDescription
(foo)capturing group; match and capture foo
(?:foo)non-capturing group; match foo but without capturing foo
(foo)bar\1\1 is a backreference to the 1st capturing group; match foobarfoo
  • Capturing groups are only relevant in the following methods:
    • string.match(regexp)
    • string.matchAll(regexp)
    • string.replace(regexp, callback)
  • \N is a backreference to the Nth capturing group. Capturing groups are numbered starting from 1.

References and tools

Related Tools in Utility Tools

Basic Auth Generator

Convert between different date formats

bcrypt

Convert between different date formats

Benchmark Builder

Convert between different date formats

BIP39 Generator

Convert between different date formats

Camera Recorder

Convert between different date formats

Chronometer

Convert between different date formats

Crontab Generator

Convert between different date formats

Device Information

Convert between different date formats

Docker Run to Docker Compose Converter

Convert between different date formats

Email Normalizer

Convert between different date formats

Emoji Picker

Convert between different date formats

Encryption

Convert between different date formats

GIT Memoizer

Convert between different date formats

iBan Validator and Parser

Convert between different date formats

iPV4 Address Converter

Convert between different date formats

iPV4 Range Expander

Convert between different date formats

iPV4 Subnet Calculator

Convert between different date formats

iPV6 ULA Generator

Convert between different date formats

iPV6ULA Validator

Convert between different date formats

JWT Parser

Convert between different date formats

Keycode Info

Convert between different date formats

Lorem Ipsum Generator

Convert between different date formats

MAC Address Generator

Convert between different date formats

MAC Address Lookup

Convert between different date formats

Math Evaluator

Convert between different date formats

MIMI Types

Convert between different date formats

Numeronym Generator

Convert between different date formats

OTP Code Generator and Validator

Convert between different date formats

Password Strength Analyser

Convert between different date formats

Phone Parser and Formatter

Convert between different date formats

QR Code Generator

Convert between different date formats

Random Port Generator

Convert between different date formats

Regex Memo

Convert between different date formats

Regex Tester

Convert between different date formats

RSA Key Pair Generator

Convert between different date formats

Safelink Decoder

Convert between different date formats

Slugify String

Convert between different date formats

Token Generator

Convert between different date formats

Ulid Generator

Convert between different date formats

URL Encoder

Convert between different date formats

URL Parser

Convert between different date formats

User Agent Parser

Convert between different date formats

UUID Generator

Convert between different date formats

Wifi QR Code Generator

Convert between different date formats