我使用tinyperl與下面的腳本:如何在Perl中忽略一些反斜槓但不是全部?
@lines=<STDIN>;
foreach (@lines) {
s/\\(.)/($1 eq '"' or $1 eq '\\') ? $1 : '\\' . $1/eg;
print;
}
我想每一個反斜槓只有後面的字符被考慮,並刪除只有下列字符是一個雙引號或一個反斜槓反斜槓。 (我知道這個目的可能對你不合適,但沒關係)。
例如,我想將abc\ndef\\ghi\"\\\n
轉換爲abc\ndef\ghi"\\n
。但是這個腳本似乎將其轉換爲abcndef\ghi"\n
。
你能幫忙嗎?
不會這也刪除我的''backslash'or「'用反斜槓一起?還有,將perl的每一次他都會遇到一個反斜槓吃兩個字符?(PS。降價是有時有點馬車) – Benoit 2010-10-12 11:08:59
@Benoit您可能已經看到我的答案的第一個版本,在我編輯它之前已短暫發佈,以便第二個匹配的字符不會被刪除。請嘗試修改後的解決方案,併爲此感到抱歉! – mikej 2010-10-12 11:13:01
謝謝。相當好! – Benoit 2010-10-12 11:44:46