0
我已經有一個程序讀取行並更改其中的一部分,只要前面沒有反斜槓即可。Perl只改變匹配正則表達式的一部分
例如,如果單詞foo的打算改爲吧,森泰斯
Hello foo, thisfoo likes \foo
將成爲
Hello bar, thisbar likes \foo
如果行存儲在$行,我的代碼是
$line =~ s/[(^\\)]foo/bar/g;
但當然這會導致輸出爲
Hellobar, thibar likes \foo
是否有正則表達式搜索找到字符串的一些要求,但不包括它在被改變的方式嗎?或者是有某種解決方法。我唯一能想到的是將\foo
的所有事件替換爲其他字符串,並在之後再次將其替換,但這絕對不是理想的,因爲我無法保證輸入中會出現什麼內容。
感謝