Skip to content

Instantly share code, notes, and snippets.

@rbranson
Created August 3, 2012 06:47
Show Gist options
  • Save rbranson/3245171 to your computer and use it in GitHub Desktop.
Save rbranson/3245171 to your computer and use it in GitHub Desktop.
Know a exponential time regular expression
In [54]: x = re.compile(r'(.+){0,10} p')
In [55]: b = time.time(); re.match(x, "fffffffffffffffffffffffffffff"); time.time() - b
Out[55]: 1.8545329570770264
In [56]: b = time.time(); re.match(x, "ffffffffffffffffffffffffffffff"); time.time() - b
Out[56]: 2.640854835510254
In [57]: b = time.time(); re.match(x, "fffffffffffffffffffffffffffffff"); time.time() - b
Out[57]: 3.7511041164398193
In [58]: b = time.time(); re.match(x, "ffffffffffffffffffffffffffffffff"); time.time() - b
Out[58]: 5.197580099105835
In [59]: b = time.time(); re.match(x, "fffffffffffffffffffffffffffffffff"); time.time() - b
Out[59]: 7.1765570640563965
In [60]: b = time.time(); re.match(x, "ffffffffffffffffffffffffffffffffff"); time.time() - b
Out[60]: 9.975569009780884
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment