perl 只查找和替换完全匹配

标签 perl pattern-matching replace substitution

我正在尝试在 perl 中实现替换。 我有一个二进制矩阵,我想替换

0 与 1

1 对 2。

所以我用了下面这行

s/1/2/g foreach @remaining;

但是,此命令最终也替换了我的列名,其中包含数字。例如,它将 1234 转换为 2234。

我希望它只匹配和替换 1 而不是 1234。

最佳答案

使用单词边界,例如:

s/\b1\b/2/g foreach @remaining;

同时替换0和1:

s/\b([01])\b/1+$1/eg foreach @remaining;

关于perl 只查找和替换完全匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13955610/

相关文章:

f# - 是否可以将有区别的联合标签作为参数传递?

python - 如何去掉字符串中的某些字符? .replace() 不起作用

perl - 如何使用 map 将函数应用于列表?

multithreading - 如何在Perl中处理客户端服务器通信?

Scala 在成功时产生,但在异常时不产生

algorithm - 如果匹配模式,则删除文件中的第一行

linux - Perl 正则表达式递归替换多个文件组中的字符串,如 "*.php" "*.html"

c++ - 尽管参数正确,但简单的字符串替换给出错误

perl - 如何为 Perl 系统调用指定超时限制?

linux - 添加双引号、逗号和删除换行符