正则表达式(1)

re 模块
正则表达式: regular Expression
match(): 从字符串的开始进行匹配,如果开始都不能匹配成功,则不会继续向下搜索
其中:
match(): 从字符串的开始进行匹配,如果开始都不能匹配成功,则不会继续向下搜索
其中:
. 表示任意字符
[] 表示的是一个范围, 可以是[a-z],或者[abc] 但是只是表示一个字符,
如果表示多个字符则需要使用量词。
量词使用:
* : >=0
+ : >=1
? : 0 或者 1
{n}: 具体的个数n
{n,}: >=n
{n,m}: m到n之间的个数

例子:

 1. import re
from re import match
# 不能匹配则返回None,
result = match('abc', 'helloabc')
print(result)

result = match('abc', 'abchello')
print(result)

span = result.span()  # 就是匹配位置
print(span)

group = result.group()  # 匹配内容
print(group)

输出结果

None
<re.Match object; span=(0, 3), match='abc'>
(0,3)
abc
# a任意一个字符c,正则中’.‘ 任意字符串(除换行符)
result = match('a.c', 'a#chello')
print(result)

# ac之间只能是字母  [xyz] 三个字母中的任意一个, [x-z]从x到z中的任意一个
result = match('a[a-z]c', 'aSc123', re.I)
print(result)  # None

# 第一个必须是字母,后面2位可以是字母和数字
result = match('[a-z][a-z0-9][a-z0-9]', 'a11123', re.I)
print(result)

输出结果

<re.Match object; span=(0, 3), match='a#c'>
<re.Match object; span=(0, 3), match='aSc'>
<re.Match object; span=(0, 3), match='a11'>
result = match('[a-z]\w{4}', 'a1_h')
print(result)

# 第一个必须是字母,后面必须是字母,数字,下划线,总长最长8位
# {1,7}  7>len>1

result = match('[a-z]\w{4,7}', 'a1235')
print(result)

# 第一个必须是字母,后面必须是字母,数字,下划线,总长度至少6位
# {5,}  len>=5
result = match('[a-z]\w{5,}', 'a1235')
print(result)

输出结果

None
<re.Match object; span=(0, 5), match='a1235'>
None
# 第一个必须是字母,后面必须是字母,数字,下划线,总长度至少2位
# +      >=1
result = match('[a-z]\w+', 'a1235')
print(result)

# *  >=0
result = match('[a-z]\w*', 'a')
print(result)

# ?  0或者1
result = match('[a-z]\w?', 'a1677')
print(result.group())

#  ^开始  $ 结束
result = match('^[a-z]\w?$', 'a1235677')
print(result)

输出结果

<re.Match object; span=(0, 5), match='a1235'>
<re.Match object; span=(0, 1), match='a'>
a1
None
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值