An open API service indexing awesome lists of open source software.

https://github.com/varunram/awesome-regex-resources

A curated list of Regex Resources. Inspired by other awesome stuff
https://github.com/varunram/awesome-regex-resources

List: awesome-regex-resources

Last synced: 3 months ago
JSON representation

A curated list of Regex Resources. Inspired by other awesome stuff

Awesome Lists containing this project

README

        

# 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](https://github.com/quozd/awesome-dotnet), [awesome-ruby](https://github.com/markets/awesome-ruby), [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) and the whole `awesome-*` trend on GitHub. Thank you [Reddit](http://www.reddit.com/r/regex), [HackerNews](https://news.ycombinator.com/item?id=9581225) and [StackOverflow](http://stackoverflow.com/tags/regex/info) for the help.

Sharing, suggestions and contributions are always welcome! Please take a look at the [contribution guidelines and quality standard](https://github.com/aloisdg/awesome-regex/blob/master/CONTRIBUTING.md) first. Thanks to all contributors, you're awesome and wouldn't be possible without you!

## Table Of Contents

- [Documentation](#documentation)
- [Prototyping and Test](#prototyping-and-test)
- [Generator](#generator)
- [Learning](#learning)
- [Library](#library)
- [Collections](#collections)
- [Explanation](#explanation)
- [Exercise](#exercise)
- [Articles](#articles)
- [Books](#books)

## Documentation

- [Regular Expression Language - Quick Reference](https://msdn.microsoft.com/en-us/library/az24scfc(v=vs.110).aspx) - MSDN documentation about Regex
- [Regular Expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) - MDN chapter about JavaScript regular expressions
- [Perl Regular Expression Syntax](http://www.boost.org/doc/libs/1_43_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html) - Boost documentation
- [Perl 6](https://docs.perl6.org/language/regexes) - Regexes in Perl 6
- [PCRE](http://pcre.org/pcre.txt) - Concatenated PCRE man pages
- [ECMAScript 6](http://2ality.com/2015/07/regexp-es6.html) - New Regexes in ECMAScript 6
- [regex header in C++](http://www.cplusplus.com/reference/regex/) - `` in C++
- [class Pattern in Java](https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html) - Java 7 docs
- [class Regex in Scala](http://www.scala-lang.org/api/2.12.1/scala/util/matching/Regex.html) - Scala Regex
- [Python re module](https://pymotw.com/3/re/) - Regular Expressions Python module tutorial

## Prototyping and Test

- [Debuggex](https://www.debuggex.com/) - An online visual regex tester
- [RegExr](http://regexr.com/) - A website for interactive regex prototyping with syntax highlighting (by @gskinner)
- [Regex101](https://regex101.com/) - An online regex tester, debugger with highlighting
- [Rubular](http://rubular.com/) - A Ruby-based regular expression editor and tester
- [Rex V](http://www.rexv.org/) - An AJAX Regular EXpression eValuator
- [RegViz](http://regviz.org/) - A tool for debugging JavaScript regular expressions in a visual way
- [Regulex](https://jex.im/regulex) - A JavaScript Regular Expression Visualizer
- [PyRegex](http://www.pyregex.com/) - An online regex tester to check validity of regexp in the Python language regex subset
- [pythex](http://pythex.org/) - A quick way to test your Python regular expressions
- [Regexper](http://regexper.com/) - A regex visualizer for JavaScript using railroad diagrams
- [HiFi Regex Tester](http://www.gethifi.com/tools/regex) - Live JavaScript Regular Expression Tester
- [Regex Hero](http://regexhero.net/tester/) - .NET online regex tester
- [Regex Storm](http://regexstorm.net/tester) - A .NET regex tester with highlighting and detailed results output
- [RegexPal](http://www.regexpal.com) - JavaScript + PCRE online tester
- [RegexTester](http://www.regextester.com) - Regular Expression Tester with highlighting for Javascript and PCRE.
- [Free Formatter](http://www.freeformatter.com/regex-tester.html) - Free online regex tester
- [Regex Tester - Golang](https://regex-golang.appspot.com/assets/html/index.html) - A secure regular expression tester built using Go

## Generator

- [Txt2Re](http://www.txt2re.com/index.php3) - Generate Regular expressions based on a string
- [Regex Generator++](http://regex.inginf.units.it) - An Automatic Generation of Text Extraction Patterns from Examples
- [regexgen](https://github.com/devongovett/regexgen) - Generates regular expressions that match a set of strings.
- [RegexGenerator](https://github.com/MaLeLabTs/RegexGenerator) - A tool for generating regular expressions for text extraction (by @MaLeLabTs)
- [Gamon's numberic range generator](http://gamon.webfactional.com/regexnumericrangegenerator/) - Regex Numeric Range Generator, when you need to match an integer range.
- [rgxg](https://rgxg.github.io) - Command line tool to generate regex
- [Regex Guide](https://regex.guide/playground) - Plain Text to Regex Generator

## Learning

- [Wikipedia][d1] - Entry on regular expressions
- [Learn Regex The Hard Way][d2] - An in-progress book that quickly teaches you regular expressions.
- [Regular Expression Matching Can Be Simple And Fast][d3] - Basic concept of how RegEx parsing works
- [PDF] [A Tao Of Regular Expressions][d4] - What are Regular Expressions
- [Regular-Expressions.info][d5] - An informative website for learning regular expressions
- [RexEgg][d6] - A regular expressions tutorial that goes deep into advanced features
- [Try Regex][d7] - Try Regex is an interactive regular expressions tutorial
- [Udemy][d8] - A Basic Introduction To Using Regular Expressions In Programming
- [Codecademy][d9] - How to use of regular expression
- [Regex golf][d10] - Regex golf with Peter Norvig
- [Python Regular Expressions][d11] - A good introduction to Python Regular Expressions from Google
- [/Reg(exp){2}lained/: Demystifying Regular Expressions][d12] - Fluent 2012 talk reviewing and visualizing basic and intermediate Regular Expressions.
- [Regular Expressions - Everything you should know](http://neverfear.org/blog/view/Regex_tutorial_for_people_who_should_know_Regex__but_do_not___Part_1) - PDF Series
- [The Java Tutorials][d14]
- [Regex Syntax Summary][d15]
- [How Regexes work][d16]
- [Learn Regular Expressions for Beginners][d17]
- [Java Regex- Tutorial][d18]
- [Javascript.info - Regular expressions][d19] - Regular expressions section in The Modern JavaScript Tutorial
- [Useful Regexes][d20]
- [Teach Yourself Regular Expressions][d21]
- [Breaking the ice with Regular Expressions][d22] - CodeSchool course (first module is free).

[d1]: http://en.wikipedia.org/wiki/Regular_expression
[d2]: http://regex.learncodethehardway.org/book/
[d3]: http://swtch.com/~rsc/regexp/regexp1.html
[d4]: http://linuxreviews.org/beginner/tao_of_regular_expressions/tao_of_regular_expressions.en.print.pdf
[d5]: http://www.regular-expressions.info/
[d6]: http://www.rexegg.com/
[d7]: http://tryregex.com/
[d8]: https://www.udemy.com/learning-regular-expressions/
[d9]: http://www.codecademy.com/courses/javascript-intermediate-en-NJ7Lr/0/1
[d10]: https://www.oreilly.com/learning/regex-golf-with-peter-norvig
[d11]: https://developers.google.com/edu/python/regular-expressions
[d12]: https://www.youtube.com/watch?v=EkluES9Rvak
[d14]: https://docs.oracle.com/javase/tutorial/essential/regex/resources.html
[d15]: http://www.greenend.org.uk/rjk/2002/06/regexp.html
[d16]: http://perl.plover.com/Regex/
[d17]: https://hackernoon.com/javascript-learn-regular-expressions-for-beginners-bb6107015d91
[d18]: http://www.vogella.com/tutorials/JavaRegularExpressions/article.html
[d19]: https://javascript.info/regular-expressions
[d20]: https://atrilsolutions.zendesk.com/hc/en-us/articles/205539861-Useful-regular-expressions
[d21]: http://rads.stackoverflow.com/amzn/click/0672325667
[d22]: https://www.codeschool.com/courses/breaking-the-ice-with-regular-expressions

## Library

- [Tre](https://laurikari.net/tre/) - Free and portable approximate regex matching library
- [Go-Restructure](https://github.com/alexflint/go-restructure) - Match regular expressions into struct fields in Go (by @alexflint) [js](https://github.com/benjamingr/js-restructure) [C#](https://gist.github.com/benjamingr/4de21494b3e76088e5f7)
- [js-regex](https://github.com/wyantb/js-regex) - Chainable API for construting Regexes
- [VerbalExpressions](https://github.com/VerbalExpressions) - VerbalExpressions is a cross-language library that helps to construct difficult regular expressions.
- [XRegExp](http://xregexp.com)] - JavaScript regex library
- [RE2](https://github.com/google/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](https://github.com/01org/hyperscan) - High-performance multiple regex matching library.

## Collections

- [RegExLib](http://regexlib.com/) - Regular Expression Library (5000+ indexed expressions)
- [regexhub](https://projects.lukehaas.me/regexhub/) - Useful Regex Patterns

## Explanation

- [Explain.pl](http://rick.measham.id.au/paste/explain.pl) - Explain Regular Expressions

## Exercise

- [Redoku](http://padolsey.github.io/redoku/) - Little Regex Sudoku/Crossword thing (by @padolsey)
- [Regex Tuesday - Challenges](https://github.com/callumacrae/regex-tuesday) - Challenge list about Regex
- [Regex Crossword](http://regexcrossword.com) - A crossword puzzle game using regular expressions
- [RegexOne](http://regexone.com) - Learn regular expressions with simple, interactive examples
- [Regexp Exercises](https://regex.sketchengine.co.uk/) - Regexp exercises
- [Regular Expression Crossword Puzzle](http://gregable.com/2015/12/regular-expression-crossword-puzzle.html) - A crossword puzzle with a neat web interface.

## Articles

- [5 Techniques to Improve Regex Performance](https://www.loggly.com/blog/five-invaluable-techniques-to-improve-regex-performance/) - Craft your own powerful, yet efficient regex
- [The Bad, the Better, and the Best](https://www.loggly.com/blog/regexes-the-bad-better-best/) - How a few characters can make a difference in performance
- [The Greatest Regex Trick Ever](http://www.rexegg.com/regex-best-trick.html) - So you're doubtful at the mention of a "best regex trick"?
- [Treat regular expressions as code, not magic](http://alexwlchan.net/2016/04/regexes-are-code/) - 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](https://iluxonchik.github.io/regular-expression-check-if-number-is-prime/) - How a regular expression can check if a number is prime
- [RegExp Tree: a regular expressions processor](https://medium.com/@DmitrySoshnikov/regexp-tree-a-regular-expressions-parser-with-a-simple-ast-format-bcd4d5580df6)
- [The thirty minute regex tutorial](https://www.codeproject.com/Articles/9099/The-Minute-Regex-Tutorial) - Regular Expressions in 30 Minutes
- [Regular Expression Matching Can Be Simple And Fast](https://swtch.com/~rsc/regexp/regexp1.html)
- [Regular Expressions in a post ES6 World](https://ponyfoo.com/articles/regular-expressions-post-es6)
- [Regular expression (regex) performance: The fundamental guide](https://medium.com/@lennartkoopmann/regular-expression-regex-performance-the-fundamental-guide-3d39e6af33af)
- [The New ‘Absent Operator’ in Ruby’s Regular Expressions](https://medium.com/rubyinside/the-new-absent-operator-in-ruby-s-regular-expressions-7c3ef6cd0b99)
- [Optimizing regexes in Java](http://www.javaworld.com/article/2077757/core-java/optimizing-regular-expressions-in-java.html)
- [Use RegEx to Test Password Strength in JavaScript](https://dzone.com/articles/use-regex-test-password)
- [Java 101](http://www.javaworld.com/article/3188545/learn-java/java-101-regular-expressions-in-java-part-1.html) - Regular Expressions in Java
- [Most Crazy Regexes](https://stackoverflow.com/questions/800813/what-is-the-most-difficult-challenging-regular-expression-you-have-ever-written) - Stack Overflow
- [Regex Humor](http://www.rexegg.com/regex-humor.html) - Regex jokes and cartoons
- [The true power of regular expressions](https://nikic.github.io/2012/06/15/The-true-power-of-regular-expressions.html)

## Books

- [Patterns, Automata, and Regular Expressions](http://infolab.stanford.edu/~ullman/focs/ch10.pdf) - Al Aho and Jeff Ullman (1992) (*chapter 10 of [Foundations of Computer Science](http://infolab.stanford.edu/~ullman/focs.html)*)
- [Beginning Regular Expressions](http://shop.oreilly.com/product/9780764574894.do) - Andrew Watt (2005)
- [Mastering Regular Expressions](http://shop.oreilly.com/product/9780596528126.do) - Jeffrey E.F. Friedl (2006)
- [Regular Expression Pocket Reference](http://shop.oreilly.com/product/9780596514273.do) - Tony Stubblebine (2007)
- [Introducing Regular Expressions](http://shop.oreilly.com/product/0636920012337.do) - Michael Fitzgerald (2012)
- [Regular Expressions Cookbook](http://shop.oreilly.com/product/0636920023630.do) - Jan Goyvaerts & Steven Levithan (2012)
- [Mastering Python Regular Expressions](http://shop.oreilly.com/product/9781783283156.do) - Felix Lopez & Victor Romero (2014)
- [JavaScript Regular Expressions](http://shop.oreilly.com/product/9781783282258.do) - Loiane Groner & Gabriel Manricks (2015)
- [Regex - the complete tutorial](https://www.princeton.edu/~mlovett/reference/Regular-Expressions.pdf)

## Cheat Sheets

- [Regular Expressions Cheat Sheet](http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/)
- [Regex Cheat Sheet](http://www.rexegg.com/regex-quickstart.html)
- [MIT Cheat Sheet](http://web.mit.edu/hackl/www/lab/turkshop/slides/regex-cheatsheet.pdf)
- [Java Cheat Sheet](https://zeroturnaround.com/rebellabs/java-regular-expressions-cheat-sheet/)
- [JavaScript Cheat Sheet](https://www.debuggex.com/cheatsheet/regex/javascript)

# Other awesome lists

Other amazingly awesome lists can be found in the [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list, the [awesome](https://github.com/sindresorhus/awesome) list or if you want [more lists](https://github.com/jnv/lists).