2
我想用兩個字符翻譯一個字符的所有實例。通常的方法我會做到這一點是:perl如何用兩個字符替換一個字符的一個發生
$text =~ s/a/aa/g;
我只想要一個字符的單個實例加倍。所以aa
將保持aa
而不是aaaa
。
我想我必須在s///
聲明中使用變量,但我無法在此處或在網上找到任何合適的模式。不相鄰另一a
的a
我想用兩個字符翻譯一個字符的所有實例。通常的方法我會做到這一點是:perl如何用兩個字符替換一個字符的一個發生
$text =~ s/a/aa/g;
我只想要一個字符的單個實例加倍。所以aa
將保持aa
而不是aaaa
。
我想我必須在s///
聲明中使用變量,但我無法在此處或在網上找到任何合適的模式。不相鄰另一a
的a
匹配情況:
s/(?<!a)a(?!a)/aa/g;
感謝。奇蹟般有效! –
「我只希望一個角色的單個實例加倍。」,那麼你的第一個解決方案不起作用。 'aa'將變成'aaa',因爲該模式與第二個'a'匹配。我爲你移除它。 (由於'a'中的'a'都不包含在'a's中,所以也改變了一些措辭。) – ikegami