I'm surprised this didn't cause an issue before but as far as I can
figure this should always be non-greedy. I think it worked before
because the items we were looking for was previously the last item
in the list but that is no longer the case in python 3 because of
dictionary order changes.