geecon 2011 -- regex by staffan nöteberg
DESCRIPTION
Slides from GeeCON 2011 presentation by Staffan Nöteberg on Regex.TRANSCRIPT
![Page 1: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/2.jpg)
Two-up
Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (22))
![Page 3: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/4.jpg)
Directed Graph
(nondeterministic
Regex HabitsRegex Habits
Graph
nondeterministic)
© blog.staffannoteberg.com (© blog.staffannoteberg.com (44))
![Page 5: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/7.jpg)
Stephen Kleene
Regex HabitsRegex Habits
Kleene
© blog.staffannoteberg.com (© blog.staffannoteberg.com (77))
![Page 8: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/8.jpg)
Regular Expressions
Regex HabitsRegex Habits
Expressions
© blog.staffannoteberg.com (© blog.staffannoteberg.com (88))
![Page 9: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/9.jpg)
Matching One
Regex HabitsRegex Habits
One Character
© blog.staffannoteberg.com (© blog.staffannoteberg.com (99))
![Page 10: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/10.jpg)
Operator #1: Concatenation
Regex HabitsRegex Habits
Concatenation
© blog.staffannoteberg.com (© blog.staffannoteberg.com (1010))
![Page 11: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/11.jpg)
Operator #2: Kleene
Regex HabitsRegex Habits
Kleene Star
© blog.staffannoteberg.com (© blog.staffannoteberg.com (1111))
![Page 12: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/12.jpg)
Greedy
Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (1212))
![Page 13: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/13.jpg)
Operator #3: Alternation
Regex HabitsRegex Habits
Alternation
© blog.staffannoteberg.com (© blog.staffannoteberg.com (1313))
![Page 14: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/14.jpg)
Parentheses
Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (1414))
![Page 15: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/16.jpg)
Finite
Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (1616))
![Page 17: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/17.jpg)
Context unaware
Regex HabitsRegex Habits
unaware
© blog.staffannoteberg.com (© blog.staffannoteberg.com (1717))
![Page 18: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/18.jpg)
Regular Regex?
Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (1818))
![Page 19: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/19.jpg)
Dialects
Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (1919))
![Page 20: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/20.jpg)
Regex Literal
Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (2020))
![Page 21: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/21.jpg)
Functions
Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (2121))
![Page 22: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/22.jpg)
Applications
Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (2222))
![Page 23: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/23.jpg)
Architecture
Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (2323))
![Page 24: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/24.jpg)
Quantifiers
Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (2424))
![Page 25: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/25.jpg)
Quantifier algebra
Regex HabitsRegex Habits
algebra
© blog.staffannoteberg.com (© blog.staffannoteberg.com (2525))
![Page 26: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/26.jpg)
Test-driven development
Regex HabitsRegex Habits
development
© blog.staffannoteberg.com (© blog.staffannoteberg.com (2626))
![Page 27: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/27.jpg)
Shrink or Expand
Regex HabitsRegex Habits
Expand
© blog.staffannoteberg.com (© blog.staffannoteberg.com (2727))
![Page 28: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/28.jpg)
Split
Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (2828))
![Page 29: GeeCON 2011 -- Regex by Staffan Nöteberg](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052618/554f8ec9b4c9052a518b5279/html5/thumbnails/30.jpg)
Resources
Regex HabitsRegex Habits © blog.staffannoteberg.com (© blog.staffannoteberg.com (3030))