Files
awesome-awesomeness/terminal/regex
2024-04-19 23:37:46 +02:00

28 KiB

<!--
Title: Awesome Regex
Description: A curated list of amazingly awesome regex resources.
Author: aloisdg
-->
 
Awesome Regex
 
!Awesome (https://awesome.re/badge.svg) (https://awesome.re)
!Main workflow (https://github.com/aloisdg/awesome-regex/workflows/Main%20workflow/badge.svg) (https://github.com/aloisdg/awesome-regex/actions)
 
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), Hacker News (https://news.ycombinator.com/item?id=9581225) and Stack Overflow (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!
 
Contents
 
- Documentation (#documentation)
- Prototyping and Testing (#prototyping-and-testing)
- Generators (#generators)
- Security (#security)
- Learning (#learning)
- Libraries (#libraries)
- Collections (#collections)
- Explanation (#explanation)
- Exercises (#exercises)
- Articles (#articles)
- Books (#books)
- Benchmarks (#benchmarks)
- Cheat Sheets (#cheat-sheets)
 
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.
- Regular Expressions in Perl (http://perl-begin.org/topics/regular-expressions/) - Introduction and Reference Links.
 
Prototyping and Testing
 
- Debuggex (https://www.debuggex.com/) - Online visual Regex tester.
- ExtendsClass (https://extendsclass.com/regex-tester.html) - Online visual Regex tester.
- Nodexr (https://www.nodexr.net) - Online node-based Regex editor.
- Regexr (http://regexr.com/) - Website for interactive Regex prototyping with syntax highlighting (by @gskinner).
- Regex101 (https://regex101.com/) - Online Regex tester, debugger with highlighting.
- Rubular (http://rubular.com/) - Ruby-based regular expression editor and tester.
- Rex V (http://www.rexv.org/) - AJAX Regular EXpression eValuator.
- RegViz (http://regviz.org/) - Tool for debugging JavaScript regular expressions in a visual way.
- Regulex (https://jex.im/regulex) - JavaScript Regular Expression Visualizer.
- PyRegex (http://www.pyregex.com/) - Online Regex tester to check validity of Regex in the Python language Regex subset.
- pythex (http://pythex.org/) - Quick way to test your Python regular expressions.
- Regexper (http://regexper.com/) - 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) - .NET Regex tester with highlighting and detailed results output.
- RegEx to Strings (https://www.wimpyprogrammer.com/regex-to-strings/) - JavaScript library and online tool to generate strings that a regular expression would match.
- 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
- PHP Live Regex (https://www.phpliveregex.com) - PHP specific regular expression tester with live evaluation and code generation for all PHP's regex functions.
 
Generators
 
- Txt2Re (https://www.txt2re.com/index_php3.html) - Generate Regular expressions based on a string
- Regex Generator++ (http://regex.inginf.units.it) - 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
- Strings to RegEx (https://www.wimpyprogrammer.com/strings-to-regex/) - JavaScript library and online tool to generate a regular expression that matches strings.
- Regex Guide (https://regex.guide/playground) - Plain Text to Regex Generator.
- grex (https://github.com/pemistahl/grex) - A command-line tool and library for generating regular expressions from user-provided test cases.
- AutoRegex (https://www.autoregex.xyz/home) - English Regex from an AI.
 
Security
 
- SafeRegex (https://github.com/jkutner/saferegex) - A command-line tool for testing regular expressions for ReDoS (https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS) vulnerabilities.
Learning
 
- Wikipedia d1 - Entry on regular expressions.
- Learn Regex The Hard Way d2 - 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 - 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 d13 - 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
- Interactive Regex Tutorial d22 - Learn Regex step by step, from zero to advanced.
 
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
d13 : http://neverfear.org/blog/view/Regex_tutorial_for_people_who_should_know_Regex__but_do_not___Part_1
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://regexlearn.com/
 
Libraries
 
- 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.
- Super Expressive (https://github.com/francisrstokes/super-expressive) - Super Expressive is a JavaScript library that allows you to build regular expressions in natural language.
- 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.
- RGXP.RU (https://rgxp.ru/) - Regular Expression Patterns (+testing)
 
Explanation
 
- RegexTranslator (https://www.regextranslator.com/) - A web app to decode Regex into plain English. You can edit it and translate back.
- Explain.pl (http://rick.measham.id.au/paste/explain.pl) - Explain Regular Expressions.
 
Exercises
 
- HackerRank Regex Challenges (https://www.hackerrank.com/domains/regex/re-introduction) - Regex challenges with varying levels of difficulty.
- 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.
- Regex 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.
- Regex 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)
- On code, early neural networks, and once discredited AI pioneers (https://whyisthisinteresting.substack.com/p/the-regular-expression-edition) - A short history of regexes
 
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)
- Python re(gex)? (https://github.com/learnbyexample/py_regular_expressions) - Sundeep Agarwal (2020)
 
Benchmarks
 
- Benchmark of Regex Libraries (http://lh3lh3.users.sourceforge.net/reb.shtml)
- Java regular expression library benchmarks – 2015 (https://www.javaadvent.com/2015/12/java-regular-expression-library-benchmarks-2015.html)
- Languages Regex Benchmark (https://github.com/mariomka/regex-benchmark) - It's just a simple Regex benchmark of different programming languages.
- Performance comparison of regular expression engines (http://sljit.sourceforge.net/regex_perf.html)
- Regex Performance (https://github.com/rust-leipzig/regex-performance) - Performance comparison of regular expression engines.
 
Cheat Sheets
 
- Regular Expressions Cheat Sheet (https://www.cheatography.com/davechild/cheat-sheets/regular-expressions/)
- 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)
- RegexLearn Cheat Sheet (https://regexlearn.com/cheatsheet)
 
Other awesome lists
 
Other amazingly awesome lists can be found at the official awesome list (https://github.com/sindresorhus/awesome) and here (https://github.com/jnv/lists).