我用下面的Perl表達式刪除選項卡從here刪除製表符 - perl的
$text =~ s{(.*?)\t}{$1.(' ' x ($g_tab_width - length($1) % $g_tab_width))}ge;
我已經簡化我的理解和翻譯下面的這個(假定四個空格的標籤寬度)
$text =~ s/(.*?)\t/' '/;
,但我覺得我打破了愛因斯坦的指令
讓事情就這麼簡單possib樂,但並不簡單。
我用下面的輸入字符串測試。
"\t \t"
"\t\t \t"
"\t\t \t\t \t"
"\t\t \t\t \t"
有人可以證明輸入字符串,會給這兩個不一致的結果嗎?
由於第二個不更換參考'$ 1'是行不通......除非這只是一個錯字? –
您誤解了標籤頁。選項卡表示可變數量的空格,而不是其數量。 – tchrist
也許你正在尋找像[perltidy](http://search.cpan.org/perldoc?perltidy)之類的東西? – TLP