我有如下的字符串:Perl的正則表達式替換最後一個匹配的字符串
$str = "/dir1/dir2/dir3/file.txt"
我想從這個字符串中刪除/file.txt。
因此,$ str將成爲。
$str = "/dir1/dir2/dir3"
我正在使用以下正則表達式。但它正在取代一切。
$str =~ s/\/.*\.txt//;
我怎樣才能讓正則表達式來尋找最後「/」,而不是第一個。
這是什麼正確的正則表達式?
請注意file.txt是不固定的名稱。它可以是任何東西,像FILE1.TXT,FILE2.TXT等
你也忘了逃離角色分類中的分隔符。 – TLP
謝謝改變它 – flec
@Saumita - 您已接受此答案?這對你如何工作?請參閱http://ideone.com/GVagS - 它爲您提供空字符串。它應該是'/(.*)\/[^\/]*$/$ 1 /'或's/\/[^ \ /] * $ //',如我的答案所示。 –