码迷,mamicode.com
首页 > 其他好文 > 详细

转义符,re模块,rangdom随机数模块,

时间:2018-08-09 17:37:32      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:应用   模块   imp   随机验证码   小数   控制   生成随机数   生成   特殊性   

# 正则模块
# 转义符
# 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)





转义符,re模块,rangdom随机数模块,

标签:应用   模块   imp   随机验证码   小数   控制   生成随机数   生成   特殊性   

原文地址:https://www.cnblogs.com/kcwxx/p/9449332.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!