正则表达式常用符号
- “*"匹配前面的字符,子表达式或者括号里的字符0次或者多次
- ”+“匹配前面的字符,表达式或者括号里的字符至少1次
- ”[]“匹配任意一个字符
- ”()“表达式编组,表达式里编组的优先进行运算
- ”{m,n}"匹配前面的字符,子表达式或括号里的字符m到n次(包含m或n)
- [^]匹配任意一个不在中括号里的字符
- “|”匹配任意一个由竖线分割的字符,子表达式
- “.“匹配任意单个字符
- ”^“指字符串开始位置的字符或者子表达式
- ”\“转义字符
- ”$“从末尾开始匹配
例子:
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re //引入正则表达式
html=urlopen("http://www.pythonscraping.com/pages/page3.html")
bsObj=BeautifulSoup(html)
images=bsObj.findAll("img",{"src":re.compile("\.\.\/img\/gifts\/img.*\.jpg")}) ///转义字符
for image in images:
print(image["src"])
Lambda表达式
soup.findAll(lambda tag:len(tag.attrs)==2)
<div class="body" id="content"></div>
<span style="color:red" class="title"></span>