IT - TOOLS
Handy tools for developers
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
Converter
Date-time converter
Integer base converter
Roman numeral converter
Base64 string encoder/decoder
Base64 file converter
Color converter
Case converter
Text to NATO alphabet
Text to ASCII binary
Text to Unicode
YAML to JSON converter
YAML to TOML
JSON to YAML converter
JSON to TOML
List converter
TOML to JSON
TOML to YAML
XML to JSON
JSON to XML
Markdown to HTML
Web
Encode/decode URL-formatted strings
Escape HTML entities
URL parser
Device information
Basic auth generator
Open graph meta generator
OTP code generator
MIME types
JWT parser
Keycode info
Slugify string
HTML WYSIWYG editor
User-agent parser
HTTP status codes
JSON diff
Outlook Safelink decoder
Images & Videos
QR Code generator
WiFi QR Code generator
SVG placeholder generator
Camera recorder
Development
Git cheatsheet
Random port generator
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
Email normalizer
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
ETA calculator
Percentage calculator
Measurement
Chronometer
Temperature converter
Benchmark builder
Text
Lorem ipsum generator
Text statistics
Emoji picker
String obfuscator
Text diff
Numeronym generator
ASCII Art Text Generator
Data
Phone parser and formatter
IBAN validator and parser
IT-Tools v2024.10.22-7ca5933
© 2025 David Nguyen
English
Deutsch
English
Español
Français
Norwegian
Português
Українська
Tiếng Việt
中文
Buy me a coffee

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