Awesome Regex

Awesome  Shortcut URL: regex.cool

Awesome Regex curates the best regular expression tools, tutorials, libraries, and other resources, covering all major regex flavors.

Regular expressions (regex or regexp) are a powerful and concise way to search, parse, and process text. They’re built into many programming languages, text editors, IDEs, database engines, word processors, and other tools.

Contributions are welcome. Add links through pull requests (guidelines).

📖 Glossary


A brief glossary of regular expression terms as used in this list.

regex logo

Regex+ is a lightweight JavaScript library for more readable, high-performance, native JavaScript regexes with powerful features including free spacing, atomic groups, possessive quantifiers, subroutines, subroutine definition groups, and context-aware interpolation.

Contents

Testers

For building, testing, and playing with regexes.

✳️ Notable mentions


Command line

By flavor

Multiple flavors

Syntax-free regex builders

Build regexes without writing regex syntax or code.

✳️ Notable mentions


Visualizers

Visualize how your regular expressions are structured or operate.

✳️ Notable mentions


Grep-like tools

Search and replace through files.

Command line

See also: Feature comparison of grep-like tools.

GUI

Tutorials

Learn how to use regular expressions.

Traditional

✳️ Notable mentions


With interactive exercises

Videos

Regex engines

Major regex implementations, built into programming languages or as standalone libraries.

Documentation

Official regex references and guides.

Regex flavors

ℹ️ Raku (formerly Perl 6) reimagines regexes. See: Grammars (tutorial), Regexes (best practices).

Without own flavor

Source code

Read or contribute to the code behind major regex implementations.

Flavor differences

Syntax and behavior differences between regex flavors.

Performance

Pattern and engine performance, benchmarks, and ReDoS prevention.

Crafting efficient regexes

ℹ️ With backtracking engines, how you craft a regex can affect how fast it finds matches or reports failures.

✳️ Notable mentions


Regex engine optimization

Benchmarking

ReDoS checkers

⚠️ These tools have limitations on supported syntax.

Collections of patterns

Prewritten regexes for specific tasks.

⚠️ Word of warning


Many regexes found online are low quality. It’s risky to use regexes you don’t fully understand in code, since they might have false positives/negatives, be vulnerable to performance problems with certain target strings, or assume a different regex flavor.

JavaScript regex libraries

Open source JavaScript libraries for advanced regex use and processing.

Alternative regex builders and engines

Abstracted regex syntax

Regex processors

JavaScript regex evolution

The history of improvements to regular expressions in the JavaScript standard. Starting with ES2018, includes links to the TC39 proposals where features were developed and discussed.

Each edition from ES2019 to ES2023 added additional Unicode properties that can be used via \p{…} and \P{…} (see lists). ES2021 added string method replaceAll, although, when given a regex, the only difference from ES3’s replace is that it throws if not using flag g.
See also


🔮 Future: Active proposals


Books

A curated list of regex books.

Articles

A curated list of regex articles.

Communities

Discuss, assist, and get help with regular expressions.

Miscellaneous

Other interesting, fun, and useful stuff.

About

Awesome Regex was created by Steven Levithan and contributors.

Sponsors and backers

Past sponsors

If you want to support this project, I’d love your help by contributing improvements, sharing it with others, or sponsoring ongoing development.

© 2024–present. CC BY 4.0.

regex.md Github