$ perl -le '$_ = q{Dr P J van Houten MD}; > s[(?<=[A-Z])(?=\s)][.]g; > print;' Dr P. J. van Houten MD $ perl -le '$_ = q{Dr P J van Houten MD FRCS}; > s[(?<=[A-Z])(?=\s)][.]g; > print;' Dr P. J. van Houten MD. FRCS $
A possible solution is to use alternation of two look-behinds.
$ perl -le '$_ = q{Dr P J van Houten MD FRCS}; > s{(?:(?<=\A[A-Z])|(?<=\s[A-Z]))(?=\s)}{.}g; > print;' Dr P. J. van Houten MD FRCS $
Cheers,
JohnGG
In reply to Re^2: simpler regex
by johngg
in thread simpler regex
by rsiedl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |