# 正则模块 # 转义符 # r‘ ‘ # re模块 # findall search match # sub subn split # compile finditer # 分组在re中的应用 取消分组的特殊性 (?:正则) # findall 优先显示分组中的内容 # split 保留分组中的内容 # search 通过group(n)来按照分组的顺序查看分钟匹配到的内容 # 分组命名 # (?P<分组名>正则表达式) # \m 通过转义数字m 来获取m对应位置上的 那个分组中的内容 # random # 随机小数 # random # uniform # 随机整数 # randint # randrange # 随机抽取 # choice # sample # 打乱顺序 # shuffle # -----------------------------------转义符 ----------------------------------------#在网页验证之后的正确正则表达式放入r" ",就可以了. #------------------------------------ re 模块--------------------------------------- #----findall(正则表达式,字符串)-- # import re# ret1 = re.findall(r"\d","1987adfa324244") # 将匹配到的放入一个列表中保存# print(ret1) #----search(正则表达式,字符串) # import re# ret2 = re.search(r"\d","aa1987adfa324244") #只匹配第一个(不需要从开头匹配)# print(ret2.group()) #--- match(正则表达式,字符串) # import re# ret3 = re.match(r"\d","1987adfa324244") #只匹配第一个(但是必须从开头开始匹配,如果匹配不到程序回报错)# print(ret3.group()) #-- sub(正则表达式,要替换的东西,字符串) # import re# ret4 = re.sub(r"\d+","H","1987adfa324244") #使用正则表达式匹配到字符串中的内容,并且使用"H"替换掉,返回字符串.# print(ret4) #----subn(正则表达式,要替换的东西,字符串) # import re# ret5 = re.subn("\d+","H","197787aaga27387") #使用正则表达式匹配,并且使用"H"替换掉,返回一个元祖(替换后的字符串,匹配的次数)# print(ret5) # 返回结果是 (‘HaagaH‘, 2) # ----split(正则表达式,字符串) # import re# ret6 = re.split("\d+","aalex67taibai49ritian45") # 使用正则表达式匹配到字符串中的内容,匹配到内容就切一刀,结尾处切一刀回切出来一个"".# print(ret6) # 输出结果是一个列表. # -----findall(正则表达式,字符串) # import re# ret7 = re.findall("\d+","7987jkk8798hjghj") # 匹配正则表达式,结果是列表,将所有的匹配结果放入列表中.# print(ret7) # 结果是 [‘7987‘, ‘8798‘] #----- compile(正则表达式) (时间效率) # import re# ret8 = re.compile("\d+") #提前编译正则表达式# res = ret8.search("7987jkk8798hjghj") # 使用编译好的正则表达式对字符串进行匹配,只匹配第一个# print(res.group()) # ----finditer (获取迭代器---空间效率) # import re# ret9 = re.finditer(‘\d+‘,‘sjkhkdy982ufejwsh02yu93jfpwcmc‘) #获取到迭代器,需要的时候进行取值# for i in ret9: # 利用循环从迭代器中取值# print(i.group()) #---------------------------- rangdom 生成随机数模块 ------------------------------------------------ #--------- 随机小数 # import random# print(random.random()) # 0-1 之内的随机小数# print(random.uniform(1,5)) # 指定区间内的随机小数 #---------- 随机整数 # import random# print(random.randint(1,2)) # [1,2]范围内的随机整数# print(random.randrange(1,2)) # [1,2)范围内的随机整数,取不到2# print(random.randrange(1,10,2)) # [1,10)范围内的随机整数,取不到10,而且步长是2 #---------列表中随机抽取一个(多个)值 # import random# lst = [1,2,3,"aa","bbb","ccc"] #定义一个列表# print(random.choice(lst)) #在列表中随机取一个值,并且打印出来# print(random.sample(lst,2)) #在列表中随机抽取 2 个值,并且放置在一个列表中. # --------打乱列表顺序 # import random# lst = [1,2,3,4,5,6]# random.shuffle(lst)# print(lst) #---------------生成随机验证码(个数,类型) -----------------#应用场景: 抽奖 \ 彩票 \发红包 \验证码 \洗牌 #-----函数实现(可以控制几位数字)## import random# def rangd_code(n=4):# code = ""# for i in range(n):# num = random.randint(0,9)# code += str(num)# return code# print(rangd_code(6)) #-----函数实现(可以控制是单独数字 还是 数字+英文字母) # import random# def rangd_code(n= 6,alph_flag = True):# code = ""# for i in range(n):# rand_num = str(random.randint(0,9))# if alph_flag:# rand_alph = chr(random.randint(97,122))# rand_alph_upper = chr(random.randint(65,90))# rand_num =random.choice([rand_alph,rand_alph_upper])# code += rand_num# return code# ret = rangd_code()# print(ret)
原文地址:https://www.cnblogs.com/kcwxx/p/9449332.html
时间: 2024-10-18 05:37:36