his technically doesn't run forever, but takes longer than you'd expect:
exp = re.compile("a(b|c+)*d")
exp.match("a" + "c"*100)
haha, reminds me of:
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.