使用方式
import re
str ='''
<table class="tablelist" cellspacing="0" cellpadding="0">
<tbody>
<tr class="h">
<td class="1" width="374">职位名称</td>
<td>职位类别</td>
<td>人数</td>
<td>地点</td>
<td>发布时间</td>
</tr>
<tr class="even">
<td class="l"><a href="https://www.baidu.com">区块链高级研发工程师</a></td>
<td class="l">技术类</td>
<td class="l">1</td>
<td class="l">深圳</td>
<td class="l">2018-11-25</td>
</tr>
<tr class="even">
<td><a href="https://www.qq.com">金融云高级后台开发</a></td>
<td>技术类</td>
<td>2</td>
<td>深圳</td>
<td>2018-11-24</td>
</tr>
<tr>
<td><a href="https://www.juran.com">高级研发工程师</a></td>
<td>技术类</td>
<td>2</td>
<td>深圳</td>
<td>2018-11-24</td>
</tr>
<tr>
<td><a href="https://www.python.com">高级图像算法工程师</a></td>
<td>技术类</td>
<td>2</td>
<td>深圳</td>
<td>2018-11-24</td>
</tr>
<tr>
<td><a href="https://www.lg.com" id="test" class="test">高级业务运维工程师</a></td>
<td>技术类</td>
<td>2</td>
<td>深圳</td>
<td>2018-11-24</td>
</tr>
</tbody>
</table>
'''
# findall就是找到所有与之相关的匹配,返回的是一个列表
re_test = re.findall(r"<td.*?</td>",str)
print(re_test)
# finditer迭代器
re_test1 = re.finditer(r"<td.*?</td>",str)
for r in re_test1:
print(r.group())
# serach找到匹配的内容返回,和findall不同的是找到一个就结束了
re_test2 = re.search(r"<td.*?</td>",str)
print(re_test2)
print(re_test2.group())
# match从头开始匹配,匹配到就返回
re_test3 = re.match(r"<td.*?</td>",str)
print(re_test3)
# 分割
print('='*30)
# (?P<分组名字>正则) 可以单独从正则匹配的内容中进一步提取内容
# re.s让.*?匹配换行符
re_test4 = re.finditer(r"<tr.*>.*?</tr>",str,re.S)
for r in re_test4:
print(r.group())