我使用perl來檢查正則表達式模式的一些文本輸入,但是有一種模式不適用於perl -pe
。perl -pe正則表達式問題
以下模式不與命令調用工作:
s![a-zA-Z]+ +(?:.*?)/(?:.*)Comp-(.*)/.*!$1!
我用的是Linux外殼。以下調用我用它來測試我的正則表達式:
cat test | perl -pe 's![a-zA-Z]+ +(?:.*?)/(?:.*)Comp-(.*)/.*!$1!'
文件測試:
A MaintanceGie?\195?\159mannFlock/System/Comp-Database.cpp A MaintanceGie?\195?\159mannFlock/System/Comp-Cache/abc.h
結果:
A MaintanceGie?\195?\159mannFlock/System/Comp-Database.cpp Cache
我怎樣才能刪除第一個結果?
感謝您的任何建議。
您正在使用什麼殼呢?你的意見是什麼?你的預期產出是多少? – 2011-02-10 14:47:58
添加了信息。 – CSchulz 2011-02-10 14:51:35
什麼是古怪的反斜線八進制 - 呃,我的意思是**非八進制** - gunk那裏?當然,看起來像一個編碼問題給我! – tchrist 2011-02-10 15:13:33