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)