所以我有这个简单的代码:
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 :(得分:0)
line=re.sub(r'REGEX', random.choice(queries), line)
此代码将返回通过用random.choice(查询)替换正则表达式的“最左边非重叠事件”而获得的字符串。如果找不到正则表达式,则返回行。
如果我正确理解了问题,我会尝试在行中搜索正则表达式并使用string.replace(string_found_by_regex,random.choice(queries)+ line)