0
我已经有一个程序读取行并更改其中的一部分,只要前面没有反斜杠即可。Perl只改变匹配正则表达式的一部分
例如,如果单词foo的打算改为吧,森泰斯
Hello foo, thisfoo likes \foo
将成为
Hello bar, thisbar likes \foo
如果行存储在$行,我的代码是
$line =~ s/[(^\\)]foo/bar/g;
但当然这会导致输出为
Hellobar, thibar likes \foo
是否有正则表达式搜索找到字符串的一些要求,但不包括它在被改变的方式吗?或者是有某种解决方法。我唯一能想到的是将\foo
的所有事件替换为其他字符串,并在之后再次将其替换,但这绝对不是理想的,因为我无法保证输入中会出现什么内容。
感谢