Я пытаюсь узнать больше о регулярных выражениях, и меня интересует следующее:
Как вставить пробел после точечного символа, но только если точечный символ не окружен цифрами, например, это должно соответствовать. но не 22.22!
Это хороший случай утверждений нулевой ширины :
$subject =~ s/(?<=\. # after a dot, (?! # but not matching (?<=\d\.) # digit followed by dot before, AND (?=\d) # digit afterward ) )/ /x g;
Я думаю, что вы найдете комментарии самоочевидными! :)
Попробуйте:
echo "22.22"|perl -pe 's{(\D)\.(\D)}{$1. $2}' 22.22 echo "2x.x2"|perl -pe 's{(\D)\.(\D)}{$1. $2}' 2x. x2