# Awesome Regex

## Introduction

A curated collection of awesome Regex libraries, tools, frameworks and software. The goal is to build a categorized community-driven collection of very well-known resources.

Inspired by awesome-dotnet, awesome-ruby, awesome-awesomeness and the whole `awesome-*` trend on GitHub. Thank you Reddit, Hacker News and Stack Overflow for the help.

Sharing, suggestions and contributions are always welcome! Please take a look at the contribution guidelines and quality standard first. Thanks to all contributors, you’re awesome and wouldn’t be possible without you!

## Contents

- Documentation
- Prototyping and Testing
- Generators
- Security
- Learning
- Libraries
- Collections
- Explanation
- Exercises
- Articles
- Books
- Benchmarks
- Cheat Sheets

## Documentation

- Regular Expression Language - Quick Reference - MSDN documentation about Regex.
- Regular Expressions - MDN chapter about JavaScript regular expressions.
- Perl Regular Expression Syntax - Boost documentation.
- Perl 6 - Regexes in Perl 6.
- PCRE - Concatenated PCRE man pages.
- ECMAScript 6 - New Regexes in ECMAScript 6.
- regex header in C++ - `<regex>` in C++
- class Pattern in Java - Java 7 docs.
- class Regex in Scala - Scala Regex.
- Python re module - Regular Expressions Python module tutorial.
- Regular Expressions in Perl - Introduction and Reference Links.

## Prototyping and Testing

- Debuggex - Online visual Regex tester.
- ExtendsClass - Online visual Regex tester.
- Nodexr - Online node-based Regex editor.
- Regexr - Website for interactive Regex prototyping with syntax highlighting (by @gskinner).
- Regex101 - Online Regex tester, debugger with highlighting.
- Rubular - Ruby-based regular expression editor and tester.
- Rex V - AJAX Regular EXpression eValuator.
- RegViz - Tool for debugging JavaScript regular expressions in a visual way.
- Regulex - JavaScript Regular Expression Visualizer.
- PyRegex - Online Regex tester to check validity of Regex in the Python language Regex subset.
- pythex - Quick way to test your Python regular expressions.
- Regexper - Regex visualizer for JavaScript using railroad diagrams.
- HiFi Regex Tester - Live JavaScript Regular Expression Tester.
- Regex Hero - .NET online Regex tester.
- Regex Storm - .NET Regex tester with highlighting and detailed results output.
- RegEx to Strings - JavaScript library and online tool to generate strings that a regular expression would match.
- RegexPal - JavaScript + PCRE online tester.
- RegexTester - Regular Expression Tester with highlighting for Javascript and PCRE.
- Free Formatter - Free online Regex tester.
- Regex Tester - Golang - A secure regular expression tester. built using Go
- PHP Live Regex - PHP specific regular expression tester with live evaluation and code generation for all PHP’s regex functions.

## Generators

- Txt2Re - Generate Regular expressions based on a string
- Regex Generator++ - Automatic Generation of Text Extraction Patterns from Examples
- regexgen - Generates regular expressions that match a set of strings.
- RegexGenerator - A tool for generating regular expressions for text extraction (by @MaLeLabTs)
- Gamon’s numberic range generator - Regex Numeric Range Generator, when you need to match an integer range.
- rgxg - Command line tool to generate Regex
- Strings to RegEx - JavaScript library and online tool to generate a regular expression that matches strings.
- Regex Guide - Plain Text to Regex Generator.
- grex - A command-line tool and library for generating regular expressions from user-provided test cases.
- AutoRegex - English <-> Regex from an AI.

## Security

- SafeRegex - A command-line tool for testing regular expressions for ReDoS vulnerabilities.

## Learning

- Wikipedia - Entry on regular expressions.
- Learn Regex The Hard Way - In-progress book that quickly teaches you regular expressions.
- Regular Expression Matching Can Be Simple And Fast - Basic concept of how Regex parsing works.
- [PDF] A Tao Of Regular Expressions - What are Regular Expressions.
- Regular-Expressions.info - Informative website for learning regular expressions.
- RexEgg - A regular expressions tutorial that goes deep into advanced features.
- Try Regex - Try Regex is an interactive regular expressions tutorial.
- Udemy - A Basic Introduction To Using Regular Expressions In Programming.
- Codecademy - How to use of regular expression.
- Regex golf - Regex golf with Peter Norvig.
- Python Regular Expressions - A good introduction to Python Regular Expressions from Google.
- /Reg(exp){2}lained/: Demystifying Regular Expressions - Fluent 2012 talk reviewing and visualizing basic and intermediate Regular Expressions.
- Regular Expressions - Everything you should know - PDF Series.
- The Java Tutorials
- Regex Syntax Summary
- How Regexes work
- Learn Regular Expressions for Beginners
- Java Regex Tutorial
- Javascript.info - Regular expressions - Regular expressions section in The Modern JavaScript Tutorial
- Useful Regexes
- Teach Yourself Regular Expressions
- Interactive Regex Tutorial - Learn Regex step by step, from zero to advanced.

## Libraries

- Tre - Free and portable approximate Regex matching library.
- Go-Restructure - Match regular expressions into struct fields in Go (by @alexflint). js C#
- js-regex - Chainable API for constructing Regexes.
- VerbalExpressions - VerbalExpressions is a cross-language library that helps to construct difficult regular expressions.
- Super Expressive - Super Expressive is a JavaScript library that allows you to build regular expressions in natural language.
- XRegExp - JavaScript Regex library.
- RE2 - RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.
- Hyperscan - High-performance multiple Regex matching library.

## Collections

- RegexLib - Regular Expression Library (5000+ indexed expressions).
- Regexhub - Useful Regex Patterns.
- RGXP.RU - Regular Expression Patterns (+testing)

## Explanation

- RegexTranslator - A web app to decode Regex into plain English. You can edit it and translate back.
- Explain.pl - Explain Regular Expressions.

## Exercises

- HackerRank Regex Challenges - Regex challenges with varying levels of difficulty.
- Redoku - Little Regex Sudoku/Crossword thing (by @padolsey).
- Regex Tuesday - Challenges - Challenge list about Regex.
- Regex Crossword - A crossword puzzle game using regular expressions.
- RegexOne - Learn regular expressions with simple, interactive examples.
- Regex Exercises - Regexp exercises.
- Regular Expression Crossword Puzzle - A crossword puzzle with a neat web interface.

## Articles

- 5 Techniques to Improve Regex Performance - Craft your own powerful, yet efficient regex.
- The Bad, the Better, and the Best - How a few characters can make a difference in performance.
- The Greatest Regex Trick Ever - So you’re doubtful at the mention of a “best Regex trick”?
- Treat regular expressions as code, not magic - If you don’t write them carefully, you can end up with an unmaintainable monstrosity.
- Demystifying The Regular Expression That Checks If A Number Is Prime - How a regular expression can check if a number is prime.
- Regex Tree: a regular expressions processor
- The thirty minute regex tutorial - Regular Expressions in 30 Minutes.
- Regular Expression Matching Can Be Simple And Fast
- Regular Expressions in a post ES6 World
- Regular expression (regex) performance: The fundamental guide
- The New ‘Absent Operator’ in Ruby’s Regular Expressions
- Optimizing regexes in Java
- Use Regex to Test Password Strength in JavaScript
- Java 101 - Regular Expressions in Java.
- Most Crazy Regexes - Stack Overflow
- Regex Humor - Regex jokes and cartoons.
- The true power of regular expressions
- On code, early neural networks, and once discredited AI pioneers - A short history of regexes

## Books

- Patterns, Automata, and Regular Expressions - Al Aho and Jeff Ullman (1992) (chapter 10 of Foundations of Computer Science)
- Beginning Regular Expressions - Andrew Watt (2005)
- Mastering Regular Expressions - Jeffrey E.F. Friedl (2006)
- Regular Expression Pocket Reference - Tony Stubblebine (2007)
- Introducing Regular Expressions - Michael Fitzgerald (2012)
- Regular Expressions Cookbook - Jan Goyvaerts & Steven Levithan (2012)
- Mastering Python Regular Expressions - Felix Lopez & Victor Romero (2014)
- JavaScript Regular Expressions - Loiane Groner & Gabriel Manricks (2015)
- Regex - the complete tutorial
- Python re(gex)? - Sundeep Agarwal (2020)

## Benchmarks

- Benchmark of Regex Libraries
- Java regular expression library benchmarks – 2015
- Languages Regex Benchmark - It’s just a simple Regex benchmark of different programming languages.
- Performance comparison of regular expression engines
- Regex Performance - Performance comparison of regular expression engines.

## Cheat Sheets

- Regular Expressions Cheat Sheet
- Regex Cheat Sheet
- MIT Cheat Sheet
- Java Cheat Sheet
- JavaScript Cheat Sheet
- RegexLearn Cheat Sheet

# Other awesome lists

Other amazingly awesome lists can be found at the official awesome list and here.

regex.md Github