我有十幾個,數百比賽之間的任何一個文件上搜索與重編的替代
/playOrder="(\d+)"/
這些ePub的電子書的索引文件,在任何情況下,正則表達式搜索疑惑。
是否有可能讓perl正則表達式替換找到所有這些,並且「神奇地」將它們全部重新編號爲從1開始的序列?如提出要求OP作爲答案
我有十幾個,數百比賽之間的任何一個文件上搜索與重編的替代
/playOrder="(\d+)"/
這些ePub的電子書的索引文件,在任何情況下,正則表達式搜索疑惑。
是否有可能讓perl正則表達式替換找到所有這些,並且「神奇地」將它們全部重新編號爲從1開始的序列?如提出要求OP作爲答案
發佈評論,:
perl -pe 's/playOrder="\K\d+"/++$i . q(")/ge' infile > outfile
這一個班輪正在使用的是由評估來創建一個替代領域,創造一個像1"
,2"
序列...
如果使用前瞻斷言而不是插入新的雙引號,可以進一步優化"
:
perl -pe 's/playOrder="\K\d+(?=")/++$i/ge' infile > outfile
謝謝,你是這個人的救星。163手動替換會讓我漲牆壁。:P –
不客氣。 – TLP
'perl -pe's/playOrder =「\ K \ d +」/ ++ $ i。 q(「)/ ge'infile> outfile' – TLP
@TLP,謝謝。作爲回答請發帖,所以我可以批准它 –