# HG changeset patch # User Christian Urban # Date 1448107492 0 # Node ID 27b7af6a00e532690b1fe665a4030c0d0c77f198 # Parent 8787b77c94725a2c9c0a44d864aa1995c866d87f updatad diff -r 8787b77c9472 -r 27b7af6a00e5 msc-projects-15.html --- a/msc-projects-15.html Sat Nov 21 11:48:23 2015 +0000 +++ b/msc-projects-15.html Sat Nov 21 12:04:52 2015 +0000 @@ -68,8 +68,7 @@ and can “stab you in the back” according to this blog post. For example, if you use in Python or - in Ruby (or also in a number of other mainstream programming languages according to this - blog) the + in Ruby (or also in a number of other mainstream programming languages) the innocently looking regular expression a?{28}a{28} and match it, say, against the string aaaaaaaaaaaaaaaaaaaaaaaaaaaa (that is 28 as), you will soon notice that your CPU usage goes to 100%. In fact, Python and Ruby need approximately 30 seconds of hard work for matching this string. You can try it for yourself: @@ -83,7 +82,7 @@ the regular expression and string further to, say, 4,600 as, then you get a StackOverflowError potentially crashing your program. Moreover (beside the "minor" problem of being painfully slow) according to this report - nearly all POSIX regular expression matchers are actually buggy. + nearly all regular expression matchers using the POSIX rules are actually buggy.

@@ -124,7 +123,8 @@

Literature: The place to start with this project is obviously this - paper. + paper + and this one. Traditional methods for regular expression matching are explained in the Wikipedia articles here and @@ -621,7 +621,7 @@

- Last modified: Sat Nov 21 11:45:43 GMT 2015 + Last modified: Sat Nov 21 11:58:49 GMT 2015 [Validate this page.]