Ein ernüchterndes Beispiel
Wir beginnen mit einem Beispiel, das drastisch vor Augen führt, wie wichtig Überlegungen zu Effizienz und Backtracking sein können. Auf „Erwartete Daten und Annahmen“ hatten wir den Ausdruck "
(
\\
.|
[^\\"]
)
*"
entwickelt, um Text innerhalb von Anführungszeichen zu finden, in dem geschützte Anführungszeichen zugelassen sind. Diese Regex funktioniert. Wenn sie aber mit einem NFA benutzt wird, ist die Alternation, die auf jedes Zeichen angewendet wird, sehr ineffizient. Bei jedem »normalen« Zeichen im String (also bei allen Zeichen ...
Get Reguläre Ausdrücke, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.