<tr>
<td>测试8</td>
<td>
不限制
</td>
<td>
3
</td>
<td>
300
</td>
<td>
<a href="javascript:;" onclick="plan_edit('76261');">编辑</a>
</td>
</tr>
<tr>
<td>测试7</td>
<td>
不限制
</td>
<td>
1
</td>
<td>
300
</td>
<td>
<a href="javascript:;" onclick="plan_edit('76246');">编辑</a>
</td>
</tr>
<tr>
<td>测试5</td>
<td>
不限制
</td>
<td>
1
</td>
<td>
300
</td>
<td>
<a href="javascript:;" onclick="plan_edit('76181');">编辑</a>
</td>
</tr>
<tr>
<td>测试4</td>
<td>
不限制
</td>
<td>
1
</td>
<td>
300
</td>
<td>
<a href="javascript:;" onclick="plan_edit('76179');">编辑</a>
</td>
</tr>
<tr>
<td>测试3</td>
<td>
不限制
</td>
<td>
0
</td>
<td>
300
</td>
<td>
<a href="javascript:;" onclick="plan_edit('76176');">编辑</a>
</td>
</tr>
我想匹配测试8 到测试3 我写的是这样的
feeds_plan_campaign_name = re.findall('''<tr>[.\S\s]*<td>(.*?)</td>[.\S\s]*<td>[.\S\s]*</td>[.\S\s]*<td>[.\S\s]*</td>[.\S\s]*<td>[.\S\s]*</td>[.\S\s]*<td>[.\S\s]*</td>[.\S\s]*</tr>''',feeds_plan_page_data.text,re.S)
print len(feeds_plan_campaign_name)
for k in range(len(feeds_plan_campaign_name)):
print "name1" + feeds_plan_campaign_name[k]
打印的结果只有测试3 这是为啥呢?
对于这种结构分明(带有html完整标签的内容), 我建议不要使用正则表达式regex, 更好的办法是使用Xpath, 如果你还不知道什么是Xpath, 请在w3school学习一下.
仅需体验三分钟, 你就会和我一样爱上这款工具.(逃)
如果你坚持要用正则, 我写了个, 真的很麻烦! 而且挺没有可移植性. 如下, 供参考:
返回值就是你需要的一个列表(多维数组).