geecon 2011 -- regex by staffan nöteberg

30
Staffan Nöteber Regex Habits Regex Habits rg © blog.staffannoteberg.com ( © blog.staffannoteberg.com (1)

Upload: staffan-noeteberg

Post on 11-May-2015

1.060 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: GeeCON 2011 -- Regex by Staffan Nöteberg

Staffan Nöteberg

Regex HabitsRegex Habits

Staffan Nöteberg

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

Page 2: GeeCON 2011 -- Regex by Staffan Nöteberg

Two-up

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

Page 3: GeeCON 2011 -- Regex by Staffan Nöteberg

Nondeterministic

Automata (NFA)

Regex HabitsRegex Habits

Nondeterministic Finite

Automata (NFA)

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

Page 4: GeeCON 2011 -- Regex by Staffan Nöteberg

Directed Graph

(nondeterministic

Regex HabitsRegex Habits

Graph

nondeterministic)

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

Page 5: GeeCON 2011 -- Regex by Staffan Nöteberg

Directed Graph (DFA/NFA)

Regex HabitsRegex Habits

Graph (DFA/NFA)

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

Page 6: GeeCON 2011 -- Regex by Staffan Nöteberg

Deterministic Finite Automata

(DFA)

Regex HabitsRegex Habits

Finite Automata

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

Page 7: GeeCON 2011 -- Regex by Staffan Nöteberg

Stephen Kleene

Regex HabitsRegex Habits

Kleene

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

Page 8: GeeCON 2011 -- Regex by Staffan Nöteberg

Regular Expressions

Regex HabitsRegex Habits

Expressions

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

Page 9: GeeCON 2011 -- Regex by Staffan Nöteberg

Matching One

Regex HabitsRegex Habits

One Character

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

Page 10: GeeCON 2011 -- Regex by Staffan Nöteberg

Operator #1: Concatenation

Regex HabitsRegex Habits

Concatenation

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

Page 11: GeeCON 2011 -- Regex by Staffan Nöteberg

Operator #2: Kleene

Regex HabitsRegex Habits

Kleene Star

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

Page 12: GeeCON 2011 -- Regex by Staffan Nöteberg

Greedy

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

Page 13: GeeCON 2011 -- Regex by Staffan Nöteberg

Operator #3: Alternation

Regex HabitsRegex Habits

Alternation

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

Page 14: GeeCON 2011 -- Regex by Staffan Nöteberg

Parentheses

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

Page 15: GeeCON 2011 -- Regex by Staffan Nöteberg

Quiz

GeeCON *20(09|1(0|1

Regex HabitsRegex Habits

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

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

Page 16: GeeCON 2011 -- Regex by Staffan Nöteberg

Finite

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

Page 17: GeeCON 2011 -- Regex by Staffan Nöteberg

Context unaware

Regex HabitsRegex Habits

unaware

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

Page 18: GeeCON 2011 -- Regex by Staffan Nöteberg

Regular Regex?

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

Page 19: GeeCON 2011 -- Regex by Staffan Nöteberg

Dialects

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

Page 20: GeeCON 2011 -- Regex by Staffan Nöteberg

Regex Literal

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

Page 21: GeeCON 2011 -- Regex by Staffan Nöteberg

Functions

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

Page 22: GeeCON 2011 -- Regex by Staffan Nöteberg

Applications

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

Page 23: GeeCON 2011 -- Regex by Staffan Nöteberg

Architecture

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

Page 24: GeeCON 2011 -- Regex by Staffan Nöteberg

Quantifiers

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

Page 25: GeeCON 2011 -- Regex by Staffan Nöteberg

Quantifier algebra

Regex HabitsRegex Habits

algebra

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

Page 26: GeeCON 2011 -- Regex by Staffan Nöteberg

Test-driven development

Regex HabitsRegex Habits

development

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

Page 27: GeeCON 2011 -- Regex by Staffan Nöteberg

Shrink or Expand

Regex HabitsRegex Habits

Expand

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

Page 28: GeeCON 2011 -- Regex by Staffan Nöteberg

Split

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

Page 29: GeeCON 2011 -- Regex by Staffan Nöteberg

Blend imperative and regex

Regex HabitsRegex Habits

imperative and regex

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

Page 30: GeeCON 2011 -- Regex by Staffan Nöteberg

Resources

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