time、random、re模块的主要函数与使用
Time模块
Random
Re
匹配的字符串在match.group[0]中储存
Compile函数,可以将正则表达式生成一个实例对象,之后直接调用方法即可,pat.search
以下是蒙特卡洛猜测与计时的一个实例
import random, time, re
def get_str():
global choices
s = ''
for i in range(32):
s += choices[random.randint(0,15)]
return s
choices = '0123456789ABCDEFG'
regex = re.compile(r'[1-2][^2-8]][D-F]0+[A-F]]')
count = 0
start = time.perf_counter()
match = regex.search(get_str())
while not match:
count += 1
str1 = get_str()
match = regex.search(str1)
print("程序匹配,猜测{}次,{}->{}".format(count,match.string,match.group(0)))
end = time.perf_counter()
print("程序用时{:.5f}秒".format((end-start)))
#但是不知道为什么匹配不出来,估计是正则表达式出现了问题,以后再慢慢研究