在下面的代碼,我搜索字符串,十六進制和ASCII ....如果字符串匹配,該文件,其中字符串被匹配被打印。有沒有辦法打印什麼字符串類型匹配(十六進制,ASCII碼或字符串)?另外,我想考慮大寫和小寫,以及數字[0-9] +。我不知道我是否可以將它添加到相同的正則表達式,或者倒不如增加另一個正則表達式行:我可以打印什麼字符串格式是從多個字符串匹配,正則表達式搜索
elif searchType =='2':
print " Directory to be searched: c:\Python27 "
directory = os.path.join("c:\\","Python27")
userstring = raw_input("Enter a string name to search: ")
userStrHEX = userstring.encode('hex')
userStrASCII = ' '.join(str(ord(char)) for char in userstring)
regex = re.compile("(%s|%s|%s)" % (re.escape(userstring), re.escape(userStrHEX), re.escape(userStrASCII))
for root,dirname, files in os.walk(directory):
for file in files:
if file.endswith(".log") or file.endswith(".txt"):
f=open(os.path.join(root, file))
for line in f.readlines():
#if userstring in line:
if regex.search(line):
print "file: " + os.path.join(root,file)
break
else:
print "String NOT Found!"
break
f.close()
朱利安 - 當你說要組()的調用,你是什麼意思?我還是難倒這個 – suffa 2011-04-29 12:43:06
'結果= regex.search(線)'' 打印result.group()' – 2011-04-29 12:49:24