正则表达式替换

标签 regex perl

我正在努力学习更多关于正则表达式的知识,我一直在想以下问题:

如何在点字符后插入空格,但前提是点字符没有被数字包围,例如它需要匹配。但不是 22.22!

最佳答案

这是 zero-width assertions 的一个很好的案例:

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

我想您会发现评论不言自明! :)

关于正则表达式替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8391165/

相关文章:

arrays - 检查二维数组是否完全为空 perl

perl - 加载模块时perl的包含路径中的搜索顺序是什么

linux - Perl 在远程机器上执行 bash 脚本的错误输出行为

regex - 如何在Tcl中将小写更改为大写?

perl - 使用 Perl 获取目录中的子目录列表(仅顶级)

perl - 驼鹿周围方法修饰符适用于多个属性,我如何判断正在修改哪个属性?

java - 需要常规表达式。对于属性顺序无关紧要的 html 元素

regex - 匹配带或不带小数点的数字

regex - 在 R 中按模式计算单词的出现次数

ruby - Ruby 2 中的正则表达式略有不同?