#-*- coding:utf-8 -*-
import re
1
#1------------------
line = 'bobby123'
#以b开头,中间任意字符出现任意次
regex_str = '^b.*'
if re.match(regex_str, line):
print('yes')
2
#2------------------
line = 'bobby123'
#前面的字符出现任意多次,以3结尾
regex_str = '.*3$'
if re.match(regex_str, line):
print('yes')
3
#3------------------
#默认是贪婪的模式
line = 'booooooobby123'
#前面不管出现了什么字符,遇到b了,中间不管出现了什么字符,再遇到了一个b,就将这个字符提取出来
regex_str = '.*(b.*b).*'
match_obj = re.match(regex_str, line)
if match_obj:
#使用group,取第一个括号
print(match_obj.group(1))
#结果是bb
4
#4------------------
#测试了一下非贪婪模式
line = 'booooooobby123'
#非贪婪,遇到了第一个b,开始匹配,一直匹配到最后的b(后面是贪婪的)
regex_str = '.*?(b.*b).*'
match_obj = re.match(regex_str, line)
if match_obj:
#使用group,取第一个括号
print(match_obj.group(1))
# 结果是booooooobb
5
#5------------------
#测试了一下非贪婪模式
line = 'booooooobbbbbby123'
#非贪婪,遇到了第一个b,开始匹配,一直匹配到第二个b,因为是非贪婪的,所以结束了
regex_str = '.*?(b.*?b).*'
match_obj = re.match(regex_str, line)
if match_obj:
#使用group,取第一个括号
print(match_obj.group(1))
#匹配的结果 booooooob
慕课的bobby老师的听课笔记,
网友评论