2016-12-05 59 views
-3

我有一個輸入文本如下:蟒紋的正則表達式

SAVE_TIMECARD = "insert into sh_user_timecard (instance_id, user_id, in_time, in_time_activity_log_aid, in_time_activity_log_instance_id, " +"out_time, out_time_activity_log_aid, out_time_activity_log_instance_id, parent_aid, parent_instance_id)" + " values (:instanceId, :userId, :inTime, :inTimeActivityAid, :inTimeActivityInstanceId, :outTime, :outTimeActivityAid, " +":outTimeActivityInstanceId, :parentAid, :parentInstanceId)"; 

我需要的輸出是:

SAVE_TIMECARD =:instanceId, :userId, :inTime, :inTimeActivityAid, :inTimeActivityInstanceId, :outTime, :outTimeActivityAid, " +":outTimeActivityInstanceId, :parentAid, :parentInstanceId 

我試圖實現這一目標使用:

result = re.findall(r'[A-z]+(:?=)',inputfile) 

我需要提取SAVE_TIMECARD的大寫單詞和所有以冒號開頭的單詞。

+0

的名單?向我們顯示代碼,以便我們可以幫助您解決特定錯誤。 –

+0

result = re.findall(r'\ [A-z] +(:?=)',inputfile) –

回答

0
:\w+ 

將標識'以冒號開頭的單詞'。您需要遍歷原始文本以查找所有實例。

0

我發現溶液

進口重新 正則表達式= re.compile( 「^ [^ =] {0,} |:(\ W {1,})」)

的TestString =「 private static final final SAVE_TIMECARD =「insert into sh_user_timecard(instance_id,user_id,in_time,in_time_activity_log_aid,in_time_activity_log_instance_id,」+「out_time,out_time_activity_log_aid,out_time_activity_log_instance_id,parent_aid,parent_instance_id)」+「values(:instanceId,:userId,:inTime,:inTimeActivityAid ,:inTimeActivityInstanceId,:outTime,:outTimeActivityAid,「+」:outTimeActivityInstanceId,:parentAid,:parentInstanceId)「;」

matchArray = regex.findall(的TestString)

的matchArray變量包含你嘗試過什麼來實現這個比賽