47

2012-02-15 jfokus2012 - regex applied

Embed Size (px)

DESCRIPTION

Slides from Staffan Nöteberg's session at Jfokus 2011-02-15 jfokus2012 - regex applied

Citation preview

Page 1: 2012-02-15 jfokus2012 - regex applied
Page 2: 2012-02-15 jfokus2012 - regex applied

Prime numbers

Page 3: 2012-02-15 jfokus2012 - regex applied
Page 4: 2012-02-15 jfokus2012 - regex applied
Page 5: 2012-02-15 jfokus2012 - regex applied
Page 6: 2012-02-15 jfokus2012 - regex applied

Cryptic?

Page 7: 2012-02-15 jfokus2012 - regex applied

Cryptic?

Page 8: 2012-02-15 jfokus2012 - regex applied

Cryptic?

Page 9: 2012-02-15 jfokus2012 - regex applied

Cryptic?

Page 10: 2012-02-15 jfokus2012 - regex applied

Cryptic?

Page 11: 2012-02-15 jfokus2012 - regex applied

Jamie Zawinski

Page 12: 2012-02-15 jfokus2012 - regex applied

XKCD

Page 13: 2012-02-15 jfokus2012 - regex applied

Regex Traits •Declarative

•No whitespace or delimiters

–literals, meta characters

and operators

•Domain Specific (DSL)

Page 14: 2012-02-15 jfokus2012 - regex applied

Requisite scents

Page 15: 2012-02-15 jfokus2012 - regex applied

Scent: Text to Type

Page 16: 2012-02-15 jfokus2012 - regex applied

Scent: Text to Type

Page 17: 2012-02-15 jfokus2012 - regex applied

Scent: Text to Type

Page 18: 2012-02-15 jfokus2012 - regex applied

Scent: Text to Type

Page 19: 2012-02-15 jfokus2012 - regex applied

Scent: Text to Type

Page 20: 2012-02-15 jfokus2012 - regex applied

Scent: Text to Type

Page 21: 2012-02-15 jfokus2012 - regex applied

Scent: Non-recursive

Page 22: 2012-02-15 jfokus2012 - regex applied

Scent: Not lucid

Page 23: 2012-02-15 jfokus2012 - regex applied

Scent: Emerging

Page 24: 2012-02-15 jfokus2012 - regex applied

Scent: Complex logic

Page 25: 2012-02-15 jfokus2012 - regex applied

Scent: Complex logic

Page 26: 2012-02-15 jfokus2012 - regex applied

Clean regex code •Correct

•Simple

(Still demands proficiency,

however)

Page 27: 2012-02-15 jfokus2012 - regex applied

Precedence

Page 28: 2012-02-15 jfokus2012 - regex applied

Escape

Page 29: 2012-02-15 jfokus2012 - regex applied

Lookarounds

Page 30: 2012-02-15 jfokus2012 - regex applied

Quantifiers

Page 31: 2012-02-15 jfokus2012 - regex applied

Quant Algebra

Page 32: 2012-02-15 jfokus2012 - regex applied

Backtracking

Page 33: 2012-02-15 jfokus2012 - regex applied

Lazy Quant

Page 34: 2012-02-15 jfokus2012 - regex applied

Shrthnds

Page 35: 2012-02-15 jfokus2012 - regex applied

Unicode

Page 36: 2012-02-15 jfokus2012 - regex applied

Character Class

Page 37: 2012-02-15 jfokus2012 - regex applied

Char Class Escape

Page 38: 2012-02-15 jfokus2012 - regex applied

Capture & Back ref

Page 39: 2012-02-15 jfokus2012 - regex applied

Non-capturing

Page 40: 2012-02-15 jfokus2012 - regex applied
Page 41: 2012-02-15 jfokus2012 - regex applied

Named Captures

Page 42: 2012-02-15 jfokus2012 - regex applied

Anchors

Page 43: 2012-02-15 jfokus2012 - regex applied

Modes

Page 44: 2012-02-15 jfokus2012 - regex applied

TDD

Page 45: 2012-02-15 jfokus2012 - regex applied

Regex Day!

Page 46: 2012-02-15 jfokus2012 - regex applied

Regex Day! •http://rekursiv.se/regexkurs

•5 mars

•Stockholm

Page 47: 2012-02-15 jfokus2012 - regex applied