~/talk

Regular Expressions in C++, Present and Future

Talkat CppCon 2016 · 2016-09-18..09-23· [compilers-and-language-design]
name:Tim Shen
links:none on file
slides:none on file

Explains how C++ regex compilers build NFAs and how four concrete algorithms behave: naive DFS with backtracking, DFS plus memoization (polynomial time O(states×length) but O(states×length) memory), NFA/BFS (streaming with one-row memory) and DFA (fast O(n) match but potentially exponential precomputation). Shows the StackOverflow outage cause: a pattern with 2^n paths and n=32 taking ~90 seconds in DFS, lists costly features (capturing groups, backreferences, brace quantifiers) and recommends re2 fallback strategy, state limits, and compile-time or JIT regex approaches.

AI-written summary · about

  1. 0:00Introduction
  2. 4:57Regular Expressions Examples
  3. 20:58DFA
  4. 24:19Algorithm Characteristics
  5. 25:57Implementation Algorithm Matrix
  6. 27:36Capturing Groups
  7. 30:40Back Reference
  8. 34:05Conclusion
  9. 35:48T1 Line
  10. 37:32Recap
  11. 39:30Comments
  12. 41:45Other Questions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.