Advanced RegEx

TitleAdvanced RegEx
dt. Reguläre Ausdrücke für Fortgeschrittene
DateThu, 25th of April 2015, 11:00–20:00
LocationAustria, Graz, FH Joanneum, HS 03
LecturerLukas Prokop
Languagegerman (speech) and english (slides)

Slides (HTML with deck.js)

Code (tar.bz2, 6.6 KB) Slides (tar.bz2, 2.1 MB) Slides (zip, 2.2 MB)


I was pretty confident about the predecessor talk, but now we are taking it to the next level. Let's talk about APIs. Let's talk about tools. Let's talk in source code. Let's look into regex engines.



tux21b's feedback

tux21b looked into my golang notstring performance source. According to my benchmark table in the slides, it took ~50 minutes to run it. tux21b improved it to 19 seconds runtime (or even only 33 ms?) and gave me the source code. We will discuss that in detail in the upcoming gograz sessions.

He also correctly pointed out that re2 but regexp is the name of golang's regex engine. Thank you very much for your feedback!

How tux21b fixed my regex

The gograz talk was put into an article “How tux21b fixed my regex”. He was able to rewrite my 50min-regex into a a-few-microseconds-regex.


This talk comes with source code 😀 It shows the programs which resulted in the notstring-performance table.


RegEx cheatsheets

Online RegEx evaluators

General links

My literature recommendations

Russ Cox
“Implementing regular expressions”
Unicode Consortium
“Unicode Regular Expressions”
Nick Patch
“Unicode Regular Expression Engines”
Claus Brabrand, Jakob G. Thomsen
“Typed and Unambiguous Pattern Matching on Strings using Regular Expressions”