Assembly & Disassembly
Arm converter
X86 converter
Mips converter
PowerPC converter
Converter
Date-time converter
Integer base converter
Roman numeral converter
Base64 string encoder/decoder
Base64 file converter
Color converter
Text to ASCII binary
Text to Unicode
YAML to JSON converter
YAML to TOML
JSON to YAML converter
JSON to TOML
TOML to JSON
TOML to YAML
XML to JSON
JSON to XML
Markdown to HTML
Crypto
Token generator
Hash text
Bcrypt
UUIDs generator
ULID generator
Encrypt / decrypt text
BIP39 passphrase generator
Hmac generator
RSA key pair generator
Password strength analyser
PDF signature checker
Web
Encode/decode URL-formatted strings
Escape HTML entities
URL parser
Device information
Browser Fingerprint checker
Open graph meta generator
OTP code generator
MIME types
JWT parser
HTML WYSIWYG editor
User-agent parser
HTTP status codes
JSON diff
Images & Videos
QR Code generator
WiFi QR Code generator
Camera recorder
Development
Crontab generator
JSON prettify and format
JSON minify
JSON to CSV
SQL prettify and format
Chmod calculator
Docker run to Docker compose converter
XML formatter
YAML prettify and format
Regex Tester
Regex cheatsheet
Network
IPv4 subnet calculator
IPv4 address converter
IPv4 range expander
MAC address lookup
MAC address generator
IPv6 ULA generator
Math
Math evaluator
Measurement
Chronometer
Temperature converter
Text
Text statistics
Emoji picker
Text diff
ASCII Art Text Generator
© 2025 XFreeTool
English
English
简体中文
Español
Français
Português
Deutsch
日本語
Norwegian
繁體中文
한국어
Русский
Tiếng Việt
Українська
हिन्दी
বাংলা
Bahasa Indonesia

Regex cheatsheet

Javascript Regex/Regular Expression cheatsheet

Normal characters

ExpressionDescription
. or [^\n\r]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
\Sinverse of \s

Whitespace characters

ExpressionDescription
space
\ttab
\nnewline
\rcarriage return
\sspace, 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
\bword 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
foo|barmatch either foo or bar
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

  • MDN
  • RegExplained