2014-06-19 68 views
0

所以我有這個簡單的代碼:如何結合/正則字符串與正則表達式結果?

def modify_mysql_log(): 
    #/var/log/mysql/mysql.log 
    #Change: queries 
    f=open("../mysql/mysql.log") 
    t=open("../mysql/mysql2.log","w") 
    for line in f: 
     line=re.sub(r'Query\s*SELECT[A-Za-z\s+\W_]*\'',random.choice(queries),line) 
     t.write(line) 
    f.close() 
    t.close() 

現在我所要做的是,我希望能夠以取代查詢行,我發現與我使用正規表示法正則表達式用random.choice(查詢)結合常規擴展結果進行搜索。我看過其他函數,但不知怎的,我不知道該怎麼做。

+0

你有沒有嘗試像'字符串格式化函數「% s「%(」text「)'或'」{}「。format(」text「)'? – furas

回答

0
line=re.sub(r'REGEX', random.choice(queries), line) 

此代碼將返回通過用random.choice(查詢)替換正則表達式的「最左邊非重疊事件」而獲得的字符串。如果找不到正則表達式,則返回行。

如果我理解正確的問題,我會嘗試搜索正則表達式的行,並使用與string.replace(string_found_by_regex,random.choice(查詢)+線)