Regular Expression Matching Can Be Simple And Fast

swtch.com

Explore efficient regular expression matching algorithms, including the Thompson NFA approach, to build high-performance programs.

Technical TutorialsRegular Expressions

Introduction

An insightful exploration of regular expression matching, providing a simple and efficient approach to understanding and implementing regular expression algorithms.

screenshot

Highlights

  • Regular expression matching can be significantly faster than popular implementations in many programming languages
  • Demonstrates a simple and efficient algorithm for regular expression matching, the Thompson NFA approach
  • Highlights the importance of using good theory to develop high-performance programs

Recommendation

This course is recommended for developers who want to gain a deeper understanding of regular expression matching and learn about efficient algorithms for implementing this functionality. It provides valuable insights into the performance differences between different approaches and how theory can be applied to create high-performance programs.

How GetVM Works

Learn by Doing from Your Browser Sidebar

Access from Browser Sidebar

Access from Browser Sidebar

Simply install the browser extension and click to launch GetVM directly from your sidebar.

Select Your Playground

Select Your Playground

Choose your OS, IDE, or app from our playground library and launch it instantly.

Learn and Practice Side-by-Side

Learn and Practice Side-by-Side

Practice within the VM while following tutorials or videos side-by-side. Save your work with Pro for easy continuity.

Explore Similar Hands-on Tutorials

The Algorithm Design Manual

27
Technical TutorialsAlgorithmData Structures
Comprehensive guide to algorithm design, data structures, and their applications. Covers a wide range of topics including algorithms, graph algorithms, and computational problem solving.

A Regular Expression Matcher

26
Technical TutorialsRegular Expressions
Explore the fundamentals of regular expression matching with this insightful course, covering the history, development, and practical applications of this powerful pattern recognition tool.

How to build a regex engine from scratch

5
Technical TutorialsRegular Expressions
Comprehensive guide on building a regex engine from scratch, covering parsing, state machine, and practical examples in Golang.

Build a Regex Engine in Less than 40 Lines of Code

4
Technical TutorialsJavaScriptRegular Expressions
Implement a rudimentary regex engine in less than 40 lines of code. Learn the core syntax, functionality, and underlying logic of regular expressions.

How to implement regular expressions in functional javascript using derivatives

1
Technical TutorialsFunctional ProgrammingJavaScriptRegular Expressions
Comprehensive guide to implementing regular expressions in functional JavaScript using derivatives, with practical examples and in-depth explanations.

Implementing a Regular Expression Engine

1
Technical TutorialsRegular Expressions
Dive deep into regular expressions and learn how to build a regex engine from scratch. Covers finite automata, Thompson's Construction, and practical programming techniques.

How Regexes Work | Comprehensive Guide to Regular Expressions

20
Technical TutorialsCRegular Expressions
Dive into the intricate mechanics of regular expressions with this comprehensive guide. Gain a deep understanding of regex patterns and their practical implementation across programming languages.

Build Your Own Regular Expression Engines: Backtracking, NFA, DFA

23
Technical TutorialsPythonRegular Expressions
Comprehensive guide to building custom regular expression engines, covering backtracking, NFA, and DFA approaches. Learn to parse regex with Python.

Algorithms Design and Analysis | UC Davis Undergraduate Course

13
University CoursesAlgorithm
Explore the fundamentals of algorithm design and analysis in this comprehensive UC Davis undergraduate course, featuring video lectures, practical assignments, and a solid foundation in core algorithm concepts.