(?:^|\s)\K is more efficient than (?<! \S )
But it does not meet the requirements of the latest update (of the latest update (of the latest update (of the latest update...))) of the "specification" in the OP. However, it's easily fixed:
(?: ^ | [\s,;]) \K
and I'm happy to accept that it's more efficient.
Update: In fact, (?<! [^\s,;]) works just as well as (?: ^ | [\s,;]) \K and has a certain orthogonality. It's still double-negatory, though. I've no idea about efficiency.
BTW: It should be noted that \K is only available from Perl version 5.10 onward.
◾The s and m flags weren't necessary
In order to limit the "degrees of freedom" of (and the necessity for thought about) the . ^ $ operators and for readability, I always use /xms in every regex.
Give a man a fish: <%-{-{-{-<
In reply to Re^6: Regex help \b & \Q
by AnomalousMonk
in thread Regex help \b & \Q
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |