2015-09-14 40 views
2

開始我是用崇高的文本3崇高文本正則表達式來查找包含轉儲所有行不以//

使用ST3查找對話框,我試圖找出正則表達式,將發現的所有行是包含字符串dump但那不是開始於//。即未註釋的轉儲語句。

即找到這些:

debugDump(recs); 
dump(recs); 
writedump(recs); 

但不是這些:

//debugDump(recs); 
//dump(recs); 
//writedump(recs); 

謝謝。

回答

1

試試這個:

^(?!^\s*\/\/).*dump 

應該找到行或任何空格字符的開始,而不//所有比賽

之前,如果你的編輯器應該有選擇:

/^(?!^\s*\/\/).*dump/igm 

在SublimeText 2將與:(^\s*(?![\/]{2}).*(?:dump) dunno about Sublime 3 :)

+0

感謝秒。我得到了一個無法匹配的括號錯誤,所以我將它改爲了'^ \ s *(?![\ /] {2})。*(?:dump)',這可能不正確。它在其中找到任何帶有「轉儲」的行,但它也在找到那些在開始時具有//的行。即包括那些被註釋掉的。 – Murrah

+0

所以這是'(^ \ s *(?![\ /] {2})。*(?:轉儲)'不適合你嗎?請給我樣品。 –

+0

不。錯誤消息「不匹配標記括號」...解析片段'。*(?:轉儲)'。我試過這個'(^ \ s *(?![\ /] {2})。*(?: dump) )'和這個'(^ \ s *(?![\ /] {2}))。*(?:dump)'這會使錯誤消失,但是它會發現像'// writeDump(userPersonRec) ;''和'// debugDump(userPersonRec,「userPersonRec」);''以及'writeDump(userPersonRec);'。 – Murrah

相關問題