def findall(pattern, string, flags=0):
    """Return a list of all non-overlapping matches in the string.
   If one or more groups are present in the pattern, return a
   list of groups; this will be a list of tuples if the pattern
   has more than one group.
   Empty matches are included in the result."""
Why does this take so long to match? Is it a bug?