регулярное выражение - PullRequest
       1

регулярное выражение

2 голосов
/ 06 декабря 2011

Я пытаюсь узнать больше о регулярных выражениях, и меня интересует следующее:

Как вставить пробел после точечного символа, но только если точечный символ не окружен цифрами, например, это должно соответствовать. но не 22.22!

Ответы [ 2 ]

4 голосов
/ 06 декабря 2011

Это хороший случай утверждений нулевой ширины :

$subject =~ 
    s/(?<=\.         # after a dot,
        (?!          # but not matching
          (?<=\d\.)  # digit followed by dot before, AND
          (?=\d)     # digit afterward
        )
      )/ /x
    g;

Я думаю, что вы найдете комментарии самоочевидными! :)

2 голосов
/ 06 декабря 2011

Попробуйте:

echo "22.22"|perl -pe 's{(\D)\.(\D)}{$1. $2}'
22.22
echo "2x.x2"|perl -pe 's{(\D)\.(\D)}{$1. $2}'
2x. x2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...