正则表达式「3」

数量——匹配多个字符的相关格式

* 匹配前一个字符出现0次或者无限次,即可有可无

示例一:

#coding=utf-8
#需求:匹配一个字符串第一个字母为大小字符,后面都是小写字母并且这些小写字母可有可无
import re
ret = re.match("[A-Z][a-z]*","Mm").group()
print ret 

Mm

ret = re.match("[A-Z][a-z]*","Aabcdef").group()
print ret 

Aabcdef
View Code

 

+ 匹配前一个字符出现1次或者无限次,即至少有1次

示例二:

#coding=utf-8
#需求:匹配变量名是否有效
import re
ret = re.match("[a-zA-Z_]+[\w_]*","name1").group()
print ret

结果:name1

ret  = re.match("[a-zA-Z_]+[\w_]*","_name").group()
print ret

结果:_name

ret  = re.match("[a-zA-Z_]+[\w_]*","2_name").group()
print ret

结果:Traceback (most recent call last):
  File "/usercode/file.py", line 4, in <module>
    ret  = re.match("[a-zA-Z_]+[\w_]*","2_name").group()
AttributeError: 'NoneType' object has no attribute 'group'
View Code

 

? 匹配前一个字符出现1次或者0次,即要么有1次,要么没有

示例三:

# -*- coding: utf-8 -*-
#需求:匹配0到99之间的数字
import re
ret = re.match("[1-9]?[0-9]","7").group()
print ret

结果:7

ret = re.match("[1-9]?[0-9]","33").group()
print ret

结果:33
View Code

 

{m} 匹配前一个字符出现m次

示例四:

#coding=utf-8
#需求匹配8到20位的密码,可以是大小写英文字母、数字、下划线
import re
ret = re.match("[a-zA-Z0-9_]{6}","12a3g45678").group()
print ret

结果:12a3g4

ret = re.match("[a-zA-Z0-9_]{8,20}","1ad12f23s34455ff66")
ret.group()

结果:1ad12f23s34455ff66
View Code

转载于:https://www.cnblogs.com/Chris-math/p/8317884.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值