Regex
Specialized language for matching patterns in text.
Contents
Testers
By flavor
Tutorials
With interactive exercises
Syntax-free regex builders
Visualizers
Grep-like tools
Command line
Regex engines
Source code
Forked from Oniguruma. Used by Ruby 2.0+.
C regex library used by Ruby 1.9, TextMate grammars, etc.
Popular C regex library used by PHP, R, etc.
C++ regex library.
Intel's high-performance library, used for DPI.
Unicode org's package with full Unicode support.
JDK standard regexes.
Regex engine used by Safari.
Regex engine used by Chrome, Edge, Firefox, etc.
Shared by all .NET languages (C#, VB, etc.).
See perlreguts.
and regex
Standard and extended regex libraries.
Popular C++ regex library used by Go, etc. Non-backtracking engine.
Non-backtracking engine.
Flavor differences
Performance
Benchmarking
JavaScript regex libraries
Alternative regex builders and engines
A template tag for extended, readable, high-performance JavaScript regexes.
Convert Oniguruma patterns to native JavaScript regexes.
RE2
Rust's regex
Oniguruma.
Abstracted regex syntax
A template tag that uses structured syntax with variables and comments.
A language that compiles to regexes.
Compose with functions:
Compose with functions:
Compose with functions:
Compose with functions:
Regex processors, utilities, and more
AST builders:
AST builders:
AST builders:
AST builders:
AST builders:
Analyze AST nodes produced by regexpp.
ESLint plugin for finding regex mistakes, etc.
Add an execution timeout to regexes.
Partial regex matching:
Partial regex matching:
Check regex equivalence, build regex intersections, and other utilities.
Generate strings that match a given regex:
Generate strings that match a given regex:
Generate a regex that matches a set of strings.
Highlight regex syntax.
Generate Mermaid diagrams to visualize regexes.
JavaScript regex evolution
ES2018
ES2022
ES2025
Backcompat libraries
Future: Active proposals
(2021) - Flag x (extended) with insignificant whitespace and line comments (#…), plus inline comments via (?#…)
(2021) - Atomic groups via (?>…) and possessive quantifiers (ex: *+, ++)
(2021) - Anchors \A and \z, not affected by flag m
(2021) - Outside character classes, \R matches any line terminator
(2020) - Scaled back RegExp subclassing
(2015) - Standardization of legacy features