[UKUUG] [TitleIndex] [WordIndex

Understanding Regular Expressions

by Damian Conway

Wednesday 12th March 2014 CANCELED

Course Outline:

Regular expressions are powerful and efficient tools for analyzing and manipulating structured text-based data. They are available in most major programming languages and as a key component of many other useful software tools (browsers, command-line utilities, text editors, web servers, etc.).

But to most programmers, regular expressions remain a riddle wrapped in a mystery inside an enigma shrouded in line-noise. They seem hard to create, harder to use, and almost impossible to debug or maintain.

So most developers make an entirely rational choice: either don't use regexes at all (the "Reinventing The Wheel...Badly" solution), or else just cut-and-paste existing regexes, adapting them to the new task by trial-and-error (the "Attack Of The Mutant Clones" approach).

This full-day class offers a third option, taking participants back to the fundamentals of regular expressions and explaining what regexes really are (i.e. NOT declarative pattern matching specifications) and how they actually work (i.e. NOT simply by sequential character-to-character text comparisons).

The class also demonstrates how normal programmers can make use of their existing software development skills to construct correct and efficient regexes...without selling their souls or losing their minds along the way.

The course is completely language-agnostic. Every example will be shown in all five major modern dialects of regex syntax (ERE, PCRE, POSIX, P6, and Vimmish), which collectively cover the use of regular expressions in: Apache, C, C++, C#, Chrome, Clojure, egrep, Emacs, flex, Firefox, gawk, grep, Haskell, Java, JavaScript, MySQL, .Net, PCRE, Perl, PHP, PowerShell, Python, Ruby, Safari, sed, VB.NET, and Vim.

Who should attend:

Programmers familiar with the basics of control flow, string handling, and simple data structures, in any of the programming languages or tools listed above.


Damian Conway is a renowned programmer, speaker and educator, best known for his work on Perl and Vim.

A PhD in Computer Science and a former Associate Professor at Australia's largest University, he now runs an international IT training company, Thoughtstream, which provides programmer training from beginner to masterclass level throughout Europe, North America, and Australasia.

Over the past two decades Damian has delivered training classes for major corporations including Apple, Yahoo!, Amazon, Canonical, Xerox, Qualcomm, Canon, Michelin, Morgan Stanley and Goldman Sachs. and given seminars and classes at institutions such as Harvard, MIT, Carnegie Mellon, U.Toronto and ETH Zurich.

Other technical areas in which he has published or keynoted include programming language design, programmer education, communications skills, object orientation, software engineering, computational linguistics, emergent systems, declarative programming, bioinformatics, quantum computational models, computer graphics, human-computer interaction, geometric modelling, the psychophysics of perception, nanoscale simulation, and parsing techniques.


2016-04-12 19:54