码迷,mamicode.com
首页 > 编程语言 > 详细

python正则表达式01--贪心算法和非贪心算法findall()

时间:2018-05-22 19:43:27      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:问号   ada   find   class   dal   pytho   \n   lov   字符   

import re

st = asdfasxxixxdafqewxxlovexxsadawexxyouxxas

# .
#点匹配除换行符外的任意字符
a0 = re.findall(xx.,st)
#print(a0)
#[‘xxi‘, ‘xxd‘, ‘xxl‘, ‘xxs‘, ‘xxy‘, ‘xxa‘]

a1 = re.findall(xx..,st)
#print(a1)
#[‘xxix‘, ‘xxlo‘, ‘xxsa‘, ‘xxyo‘, ‘xxas‘]

# *
#星匹配前面的一个字符一次或多次
b0 = re.findall(x*,st)
#print(b0)
#[‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘xx‘, ‘‘, ‘xx‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘xx‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘xx‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘xx‘, ‘‘, ‘‘, ‘‘, ‘xx‘, ‘‘, ‘‘, ‘‘]

#
#问号匹配前面的一个字符0次或者1次
c0 = re.findall(x?,st)
#print(c0)
#[‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘x‘, ‘x‘, ‘‘, ‘x‘, ‘x‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘x‘, ‘x‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘x‘, ‘x‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘x‘, ‘x‘, ‘‘, ‘‘, ‘‘, ‘x‘, ‘x‘, ‘‘, ‘‘, ‘‘]


#贪心算法(点星)尽可能多的匹配 -- .*
#尽可能长的匹配字符串
a = re.findall(xx.*xx,st)
#print(a)

#运行结果
#[‘xxixxdafqewxxlovexxsadawexxyouxx‘]


#非贪心算法(点星问号)少食多餐 -- .*?
#返回列表
b = re.findall(xx.*?xx,st)
#print(b)
#运行结果
#[‘xxixx‘, ‘xxlovexx‘, ‘xxyouxx‘]

#非贪心算法(点星问号)少食多餐 -- .*?
#返回列表
c = re.findall(xx(.*?)xx,st)
#print(c)
#运行结果
#[‘i‘, ‘love‘, ‘you‘]

# re.S 匹配换行符

ss = ‘‘‘asdfasxxixxdafqewxxlove
xxsadawexxyouxxas‘‘‘
d = re.findall(xx(.*?)xx,ss)
e = re.findall(xx(.*?)xx,ss,re.S)
print("无re.S:%s\n有re.S:%s"%(d,e))
#运行结果
#无re.S:[‘i‘, ‘sadawe‘]
#有re.S:[‘i‘, ‘love\n‘, ‘you‘]

贪心算法,非贪心算法

python正则表达式01--贪心算法和非贪心算法findall()

标签:问号   ada   find   class   dal   pytho   \n   lov   字符   

原文地址:https://www.cnblogs.com/chillytao-suiyuan/p/9073585.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!