這個問題純屬化妝品:正則表達式高爾夫:切斷一切後,最後一個「/」
我想後最後一個「/」給定的字符串,以消除所有文本。所以,如果輸入的是
mkdir -p $DEST/Users/Peter/Dropbox/Public/Vacation/P1000891.jpg
輸出應該是
mkdir -p $DEST/Users/Peter/Dropbox/Public/Vacation/
(準確地說,它不一樣,如果最後被包含在輸出「/」或沒有關係。)
我發現這樣做的各種方式,例如:
my @templist = split "/", 'mkdir -p $DEST/Users/Peter/Dropbox/Public/Vacation/P1000891.jpg';
print join "/", splice(@templist, 0, -1);
或者:
my ($a) = 'mkdir -p $DEST/Users/Peter/Dropbox/Public/Vacation/P1000891.jpg' =~ /(.*\/)+(?:[^\/]+)/;
print $a;
但我認爲這應該是可以實現的只用一個正則表達式,也許用搜索&替換?也許與前瞻?
是的。謝謝。讓我感到內心的溫暖,同時讓我感到很蠢,因爲沒有親眼看到它。 :) – msallge 2013-03-01 13:42:25