python在中英文中使用正则表达式_在python中使用正则表达式

一.转义符

1.在python中的转义符

(1)\\n与\n的区别

(2)r"\next" 通过r来进行转义

(3)"\\\\d"与"\\d"的组合

2.在正则表达式中的转义符

(1)\\n 表示匹配\n这个字符

(2)[(), +, *,/, ., ?, $] 这些符号在[]中会现原形

(3)"\(" 表示匹配(这个符号

二 re模块

1.字符串匹配

(1)re.findall("正则表达式", "字符串") 返回一个列表,返回的内容为 匹配到的所有内容,如果没有匹配到内容返回[].

(2)re.search("正则表达式", "字符串") 返回匹配到结果的对象,如果没有匹配到内容返回None

(3)re.match("正则表达式", "字符串") 返回内容同上search,但是在字符串开头必须匹配到内容,如果开头没匹配到返回None

2.替换和切割

(1)re.sub("正则表达式", "替换的内容", "字符串",个数(默认全部替换)) 返回一个被替换过的字符串

(2)re.subn("正则表达式", "替换的内容", "字符串",个数(默认全部替换)) 返回一个元组,返回内容为被替换过 的字符串和替换的个数

3.进阶方法

(1)re.compile("正则表达式") (时间效率) 节省时间:只有多次使用某一个相同的正则表达式时才使用

(2)re.findter("正则表达式", "字符串") 返回一个迭代器,通过for循环可得到匹配到的所有结果的对象.再使用group()打印用每个结果

三.正则表达式在python中使用的一些特殊用法

1.findall+分组 优先显示分组里的内容,要想取消分组优先,要在分组中加(?:)

2.search+分组 通过group(n),可以得到group()匹配到的内容

3.split+分组   保留分组内被分割掉的内容

4.分组命名

(1).

ret = re.search("\w+)>\w+(?P=name)>", "hahaha")print(ret.group())print(ret.group("name"))print(ret.group(1))#print(ret.group(2))

ret = re.search(r"\w+\1>", "hahaha")print(ret.group())print(ret.group(1))

View Code

四.random模块

1.随机小数

(1).random.random() 0-1范围内的随机小数

(2)random.uniform(1,5)任意范围内的随机小数

2.随机整数

(1)random.randint(1,2) [1,2]包含2在内的范围内随机整数

(2)random.randrange(1,2) [1,2) 不包含2在内的范围内的随机整数

(3)random.randrange(1,10,2) [1,10)不包含10在内的范围内的随机奇数

3.随机抽取

(1)random.choice(list) 随机从列表中抽取一个值

(2)random.sample(lst,n) 随机抽取n个值

(3)random.stuffle(list) 在原列表的基础上做乱序

随机抽取

随机抽取一个值

lst= [1,2,3,'aaa',('wahaha','qqxing')]

ret=random.choice(l)print(ret)

随机抽取多个值

ret= random.sample(lst,2)print(ret)

打乱顺序 在原列表的基础上做乱序

lst= [1,2,3,'aaa',('wahaha','qqxing')]

random.shuffle(lst)print(lst)

def rand_code(n=6 , alph_flag =True):

code= ''

for i inrange(n):

rand_num= str(random.randint(0,9))ifalph_flag:

rand_alph= chr(random.randint(97,122))

rand_alph_upper= chr(random.randint(65,90))

rand_num=random.choice([rand_num,rand_alph,rand_alph_upper])

code+=rand_numreturncode

ret= rand_code(n = 4)print(ret)

View Code

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值