Hi,

I do a bit regexp-matching in my log analyzer but found out that the
Regexp engine chokes on some input (see attached file). It just takes
100% CPU time and never returns.

I thought that I might have hit some obscure O(2^n) problem of FAs, I
tried the same thing in Python and it worked immediately:

>>> s = "20:15 < foobar> \"Bei den Programmiersprachen rechnet er für
die nächsten zehn Jahre mit keinen neuen Entwicklungen, da es mit
zu viel Aufwand verbunden sei, neue Sprachen in den Markt zu
drücken. So wird die Programmierwelt auch in zehn Jahren noch aus
Java und C++ bestehen. Den funktionalen Sprachen erteilt er eine
Absage: \"Ihr Problem ist, dass sich damit zwar komplizierte
Abläufe einfach darstellen lassen, dass aber leider einfache Dinge
zu"
>>> import re 
>>> re.findall("[A-~]{1,16}\\+\\+", s)
['C++']

Any ideas what is happening?

regards,
Marek
(use-modules (ice-9 regex))
(define s "20:15 < foobar> \"Bei den Programmiersprachen rechnet er für die nächsten zehn Jahre mit keinen neuen Entwicklungen, da es mit zu viel Aufwand verbunden sei, neue Sprachen in den Markt zu drücken. So wird die Programmierwelt auch in zehn Jahren noch aus Java und C++ bestehen. Den funktionalen Sprachen erteilt er eine Absage: \"Ihr Problem ist, dass sich damit zwar komplizierte Abläufe einfach darstellen lassen, dass aber leider einfache Dinge zu")
(define add (make-regexp "[A-~]{1,16}\\+\\+"))
(list-matches add s)

Reply via email to