为了账号安全,请及时绑定邮箱和手机立即绑定

python正则表达式

难度初级
时长 1小时29分
学习人数
综合评分9.40
211人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.1 逻辑清晰

最新回答 / 小跳蛙凉凉
两个问题,一个是需要导入re模块;import re;另外一个是 如果用的是python3的话  print需要加括号,修改成print(m2)
推荐anaconda~windows和linux都能用的python开发软件~

已采纳回答 / 慕尼黑7825836
正则表达式在进行数量匹配时有{},+,*,?其中.*代表匹配除换行符以外的任意字符任意次,可以是0次。.代表除换行符以外的任意字符,*代表任意次,相当于{0,}
后边多一个?表示懒惰模式。必须跟在*或者+后边用.*? 是懒惰匹配,一旦匹配到第一个就不往下走了。.*+是无限匹配直到最后一个。
老师讲的非常好,完整的学习了正则。

最新回答 / 慕粉4108053
\s\d*\s 可以拿这个正则表达式匹配出中间的数字234

最赞回答 / 程序猿中的古天乐
把20行去掉,18行改成f = open(str(i)+'.jpg', 'wb+')试试看
Python3.5版:
前面一样,两个地方要改一下。
i = 0
for url in urllist:
f = open(str(i)+'.jpg','wb')(这里打开要用‘wb’模式的,这样才表示二进制,直接用w会报错)
url = 'https:'+url
url = url.split(' ')[0](这里用空格把url分成两部分,取第一个就好了)
print(url)
req2 = requests.get(url)
buf = req2.content
f.write(buf)
f.close()
i +=1
def add1(match):
value=int(match.group())
value+=1
return str(value)

str1='num=1000,java=23,python=101'
num=re.sub(r'\d+',add1,str1)
num
讲的不够易懂 本来还理解 听着就更模糊了

最赞回答 / qq_习惯性隐身_0
比如匹配ioo,^ioo匹配的必须是以i开头的,用\A必须是匹配以ioo开头的
分组这里听不明白了╰╯
最后一节课最帅了,学编程的动力啊~
感谢老师。

已采纳回答 / 芳芳菲菲
可以在req = urllib2.urlopen('http:'+url)上面 print 'http:'+url, 就会发现问题所在。listurl = re.findall(r'//.+\.jpg*',buf)这个地方的正则错误,应该使用非贪婪匹配模式,改为listurl = re.findall(r'//.+?\.jpg',buf),即可。
源字符串:aa<div>test1</div>bb<div>test2</div>cc

正则表达式一:<div>.*</div>

匹配结果一:<div>test1</div>bb<div>test2</div>

自行体会非贪婪。

正则表达式二:<div>.*?</div>

匹配结果二:<div>test1</div>
课程须知
本课程是Python中级课程 1、本课程在linux讲解,最好有linux开发环境 1、熟练掌握Python开发语言基础语法
老师告诉你能学到什么?
1.正则表达式基本语法 2.使用re模块处理文本

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消