It fails poorly when there's a problem because the /.*?/ in /.*?// can match "/". It's only indirectly through co-operation with the rest of the pattern that it might be prevented from doing so. I prefer being more direct and explicitly prevent what should not be matched from matching.