in reply to using ? and ?? in regex

because ? modifies the character before it... mp? matches m or mp... ?? matches non-greedily, so if mp is there... it will only match m unless it needs to match the p for later parts of the regex to match. .? will match a single char if it is there... .{0,2} will match 0 to 2 characters. .?.? would as well, but I think .{0,2} may be better.
                - Ant