geecon 2011 -- regex by staffan nöteberg

Post on 11-May-2015

1.060 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides from GeeCON 2011 presentation by Staffan Nöteberg on Regex.

TRANSCRIPT

Staffan Nöteberg

Regex HabitsRegex Habits

Staffan Nöteberg

© blog.staffannoteberg.com (© blog.staffannoteberg.com (11))

Two-up

Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (22))

Nondeterministic

Automata (NFA)

Regex HabitsRegex Habits

Nondeterministic Finite

Automata (NFA)

© blog.staffannoteberg.com (© blog.staffannoteberg.com (33))

Directed Graph

(nondeterministic

Regex HabitsRegex Habits

Graph

nondeterministic)

© blog.staffannoteberg.com (© blog.staffannoteberg.com (44))

Directed Graph (DFA/NFA)

Regex HabitsRegex Habits

Graph (DFA/NFA)

© blog.staffannoteberg.com (© blog.staffannoteberg.com (55))

Deterministic Finite Automata

(DFA)

Regex HabitsRegex Habits

Finite Automata

© blog.staffannoteberg.com (© blog.staffannoteberg.com (66))

Stephen Kleene

Regex HabitsRegex Habits

Kleene

© blog.staffannoteberg.com (© blog.staffannoteberg.com (77))

Regular Expressions

Regex HabitsRegex Habits

Expressions

© blog.staffannoteberg.com (© blog.staffannoteberg.com (88))

Matching One

Regex HabitsRegex Habits

One Character

© blog.staffannoteberg.com (© blog.staffannoteberg.com (99))

Operator #1: Concatenation

Regex HabitsRegex Habits

Concatenation

© blog.staffannoteberg.com (© blog.staffannoteberg.com (1010))

Operator #2: Kleene

Regex HabitsRegex Habits

Kleene Star

© blog.staffannoteberg.com (© blog.staffannoteberg.com (1111))

Greedy

Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (1212))

Operator #3: Alternation

Regex HabitsRegex Habits

Alternation

© blog.staffannoteberg.com (© blog.staffannoteberg.com (1313))

Parentheses

Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (1414))

Quiz

GeeCON *20(09|1(0|1

Regex HabitsRegex Habits

*20(09|1(0|1))

© blog.staffannoteberg.com (© blog.staffannoteberg.com (1515))

Finite

Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (1616))

Context unaware

Regex HabitsRegex Habits

unaware

© blog.staffannoteberg.com (© blog.staffannoteberg.com (1717))

Regular Regex?

Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (1818))

Dialects

Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (1919))

Regex Literal

Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (2020))

Functions

Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (2121))

Applications

Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (2222))

Architecture

Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (2323))

Quantifiers

Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (2424))

Quantifier algebra

Regex HabitsRegex Habits

algebra

© blog.staffannoteberg.com (© blog.staffannoteberg.com (2525))

Test-driven development

Regex HabitsRegex Habits

development

© blog.staffannoteberg.com (© blog.staffannoteberg.com (2626))

Shrink or Expand

Regex HabitsRegex Habits

Expand

© blog.staffannoteberg.com (© blog.staffannoteberg.com (2727))

Split

Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (2828))

Blend imperative and regex

Regex HabitsRegex Habits

imperative and regex

© blog.staffannoteberg.com (© blog.staffannoteberg.com (2929))

Resources

Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (3030))

top related