Python--每日正则(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MR_HJY/article/details/81749733
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   ?  具体用法看注释。

猜你喜欢

转载自blog.csdn.net/MR_HJY/article/details/81749733
今日推荐