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

Posted kcwxx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转义符,re模块,rangdom随机数模块,相关的知识,希望对你有一定的参考价值。

# 正则模块
# 转义符
# 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随机数模块,的主要内容,如果未能解决你的问题,请参考以下文章

re模块 ,random模块

re模块的应用

Python之旅的第17天(re模块logging模块)

1.re模块

python学习24天----re模块py正则random模块

正则表达式&re模块