2
有正則表達式,可以指示它自動增量它的替代品,無論是數字或字母的字符串。正則表達式替換自動遞增
謝謝
例如,我有一個字符串應該是數字1, 2, 3, 4, 5
但他們目前編號爲1, 1, 1, 1, 1
我如何將取代那些5個個人,相似的字符串數爲1, 2, 3, 4, 5
有正則表達式,可以指示它自動增量它的替代品,無論是數字或字母的字符串。正則表達式替換自動遞增
謝謝
例如,我有一個字符串應該是數字1, 2, 3, 4, 5
但他們目前編號爲1, 1, 1, 1, 1
我如何將取代那些5個個人,相似的字符串數爲1, 2, 3, 4, 5
我不熟悉TextWrangler的語法;但是,它使用pcre
所以這應該是你想要的,只要你有辦法來分配初始值,您遞增變量(在這種情況下,我用$ii
)什麼......下面的腳本替換「pizza-出現的任何X」與 「比薩-0」, 「比薩-1」 ...
@foo = ('pizza', 'pizza-a', 'pizza-b', 'pizza-c');
$ii = 0;
foreach (@foo) {
$_ =~ s/(pizza-)[a-z]/"$1".$ii++/e;
print "$_\n";
}
結果...
[[email protected] Desktop]$ perl foo.pl
pizza
pizza-0
pizza-1
pizza-2
的魔力來自s///e;
和$ii++
;請確保將非遞增字符串括在引號中並與句點連接。
或者,只是做你的自動遞增與perl -pi -e '$ii = 0; s/something/"here".$ii++/e
重整`直接在文本文件(做一個備份副本,當然)。
你能提供一個你正在尋找的自動增量的例子嗎?此外,正則表達式語法不是通用的;你會用什麼語言? – 2011-06-07 00:04:04
我使用TextWrangler的grep/regex,示例中加入 – CQM 2011-06-07 00:10:53
@RD,謝謝。據的TextWrangler的文檔,他們使用Perl-Compatable正則表達式(PCRE) – 2011-06-07 00:12:54