2008-12-11 26 views
2

我修改我的代碼,我尋找一個解決方案給grep我的源文件類似用andand查找和替換「!= null」代碼的最佳方法是什麼?

if (user && user.name && user.name.length() < 128) ... 

爲了與紅寶石的andand或Groovy後來取代它?操作員(安全導航操作員)。

+0

您正在尋找的正則表達式來做到這一點一概而論嗎? – 2008-12-11 13:28:17

回答

2

這裏的東西,讓你開始,我不知道這是否可以不必產生正則表達式編程

line = "user && user.name && user.name.length()" 
p line.match(/(?:(\w*)(?:\s\&\&\s(\1\.(\w*)))(?:\s\&\&\s(\2\.(\w*))))/).to_a. 
    reject {|m| m.match(/\./)}.join('.andand.') 

=> "user.andand.name.andand.length" 
相關問題