Python--每日正则(二)

import re

# 1.如何获取huuh
# 2.使用非贪婪限定符

# 学习内容:
# 1. 通过group获取到我们匹配成功的字符串
# 2. 贪婪模式

'''
line = 'ahuuhhaaahang123'
#  group() 同group(0)就是匹配正则表达式整体结果
#  group(1) 列出第一个括号匹配部分,group(2) 列出第二个括号匹配部分,group(3) 列出第三个括号匹配部分。
match_res = re.match('a.*h', line)
if match_res:
    print(match_res)
    print(match_res.group(0)) # ahuuhhaaah
    print('ok')
else:
    print('no')
'''

'''
# 1. 想要获取huuh
# 学习内容:
#   1. 括号代表一个字串
#   2. group(0)匹配到的字符串
#   3. group(1)匹配到的是第一个我们遇到的括号内的内容
line = 'ahuuhhaaaahuang12344'
match_res = re.match('a(huuh)(.*)',line)
if match_res:
    print(match_res)
    print(match_res.group(0)) #ahuuhhaaaahuang12344
    print(match_res.group(1)) #huuh
    print(match_res.group(2)) #haaaahuang12344
    print('ok')
else:
    print('no')
'''

'''
# search 扫描整个字符串并返回第一个成功的匹配。
# re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;
#   而re.search匹配整个字符串,直到找到一个匹配。
line = 'ahuuhhaaaahuang12344'
match_res = re.search('huuh',line)
match_res2 = re.search('huuh',line).span()
print(match_res2) # (1, 5)
if match_res:
    print(match_res)
    print(match_res.group(0)) #ahuuhhaaaahuang12344
    print('ok')
else:
    print('no')
'''

'''
# 2.使用非贪婪限定符
#       \/? 有或没有 / 字符
#       (?:)  匹配组,
#       ?:用於标记该匹配组不应被捕获
#       \?  一个 ? 字符
#       (?:\?.*)? 有或没有均可
line = 'ahuuhhaaahang123'
# 当 ? 遇到 * 他就不贪婪了
match_res = re.match('a.*?ha',line)
if match_res:
    print(match_res)
    print(match_res.group(0)) # ahuuhha
    print('ok')
else:
    print('no')
'''

今天学习的主要有 group    search   ?  具体用法看注释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值