在下面的代码,我搜索字符串,十六进制和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