我需要能夠匹配正則表達式:正則表達式混合情況下排除特定情況下
- 一個)所有除幾個特定字的較低/上層例
- b)中組合某些病例組合。
我必須搜索bash
通數以千計的源代碼文件,誤拼寫變量的出現。
具體來說,我尋找的字是FrontEnd
這在我們的編碼風格指南可以在根據上下文2種方式究竟寫:
FrontEnd (F and E upper)
frontend (all lower)
所以我需要「追趕」的任何出現次數不遵守我們的編碼標準爲:
frontEnd
FRONTEND
fRonTenD
我一直在閱讀正則表達式的很多教程這個具體的例子,我無法找到一種方法,說:「與此模式匹配,但不匹配,如果正是這樣一個或另一個「。
我想它會類似於嘗試匹配「000000到999999之間的任何數字,除了確切的數字555555或數字123456」,我想邏輯是類似的(當然,我不打結這樣做要麼:))
日Thnx
附加註釋:
我不能用grep
管道輸送到grep -v
,因爲我可能會錯過線;例如,如果我這樣做:
grep -i frontend | grep -v FrontEnd | grep -v frontend
會錯過這樣一行:
if(frontEnd.name == 'hello' || FrontEnd.value == 3)
因爲第二occurence將隱藏的整條生產線。因此,我正在尋找一個正則表達式來與egrep
一起使用,以完成我需要的完全匹配。
就像一個魅力!這完全是我需要的。 Thanx OmnipotentEntity。特別是我在'find -exec'中使用了它,並將'{}'傳遞給了perl,因此它可以在數千個文件中「檢測」這些奇點。 – 2013-03-04 13:03:19