今天的主要内容是正则表达式,后面有一个练习是关于lambda表达式的 题目加了个说明是为了以后更快的来查找正则表达式的格式 表2-1只是python正则的写法,他跟c语言的写法进本相同,但与Java的还是有一些区别的 另外关于lambda表达式,这个东西我学过但是平时杰出的不是很多,听说在构建大型应用的时候非常有用
练习1 正则表达式1 (1) 字母“a”至少出现一次; (2) 后面跟着字母“b”重复 5 次; (3) 后面再跟字母“c”重复任意偶数次; (4) 最后一位是字母“d” ,也可以没有
aa*bbbbb(cc)*(d| )
练习2 正则表达式2 1.邮箱地址的第一部分至少包括一种内容:大 写字母、小写字母、数字0~9、点号(.)、加号 (+)或下划线(_) 2.之后,邮箱地址会包含一个@符号 3.在符合@之后,邮箱地址还必须至少包含一 个大写或小写字母 4.之后跟一个点号(.) 5.最后邮箱地址用com、org、edu、net结尾 (实际上,顶级域名有很多种可能,但是作为示 例演示这四个后缀够用了)
[A-Za-z0-9.+_]+@[A-Za-z]+.(com|org|edu|net)
练习3 用正则表达式抓取所有商品图片
# from urllib.request import urlopen # from bs4 import BeautifulSoup # import re # r = urlopen('http://www.pythonscraping.com/pages/page3.html') # bsObj = BeautifulSoup(r) # # ../img/gifts/img3.jpg # images = bsObj.findAll('img',{'src':re.compile('\.\./img/gifts/img.\.jpg')}) # for image in images: # print(image['src'])练习4 lambda表达式简单实例
# from urllib.request import urlopen # from bs4 import BeautifulSoup # import re # r = urlopen('http://www.pythonscraping.com/pages/page3.html') # bsObj = BeautifulSoup(r) # images = bsObj.findAll(lambda tag:len(tag.attrs) == 2) # for image in images: # print(image.get_text())