正则表达式实战的1

2017-12-02  本文已影响0人  空白要努力
#-*- 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老师的听课笔记,

上一篇下一篇

猜你喜欢

热点阅读