Regular expressions and meta obsessions



How do you parse and validate a date? What about an email address? A URL, phone number, postal code? How do you quickly search through a file for something that you only know a little about? Regular Expressions, that's how.


Whether you’re a system administrator, a bioinformatics researcher, a linguist or a web dev, sooner or later you’ll need to delve into a cryptic mathematical language known as a regular expression. Whether you know them as finite automata, line noise, or the markings of a meta character obsessed madman, you will confront them. Knowing how to read, understand and create regular expressions can make all the difference between one and 20 lines of code. Knowing when not to use them can mean the difference between 1 and 20 hours of debugging.

In this talk I’ll start with the basics of regular expressions, show off some popular regular expressions and then move on to how to build your own regular expression. I’ll also briefly touch upon when not to use a regular expression.

The session will be as interactive as you want it to be, so bring along your favourite problems for dissection and reconstruction.

Speaking experience


  • 1543735477 f302fdc3a3

    Philip Tellis



    Philip Tellis is a geek who likes to make the computer do his work for him. As part of his job with the Performance and Security teams at Yahoo! he analyses the impact of various design decisions on web application performance and security. He also maintains the javascript implementation of strftime used in YUI and plays around with security, accessibility and i18n. He is the maintainer of several opensource projects including ayttm and libyahoo2, and most recently, boomerang — a real user web performance measurement tool.

    In his spare time, Philip enjoys cycling, reading, cooking and learning spoken languages.

    Philip has spoken at several conferences in the past, including FOSS.IN, FREED.IN, Ubuntulive, Linux Symposium, PHP Quebec, Opensource Bridge, WebDU, FOSDEM, IPC and ConFoo.