正则表达式 - 结合'或'与'后视'

时间:2014-02-02 02:22:01

标签: python html regex lookbehind

对于令人困惑的标题感到抱歉。我试图找出一个简单的正则表达式问题,但无法弄清楚解决方案是什么。

我有一个来自较大HTML文档的HTML片段。

  • <td class="grade">100.0</td>

  • <td class="teacher">Mathias, Jordan</td>

其他正则表达式将两者分开,给他们这些类名。我使用正面look-ahead来检查.,(句号或逗号),并分别为他们分配成绩或教师课程。


问题出现后,我想检查这些标签之间的代码是否为空白。

  • 即。 :<td class="grade"></td>

我想使用积极的后视来检查课程是成绩还是教师(grade|teacher)。另外,我想检查><(空标签的连接)之间是否真的没有任何内容。

到目前为止,这就是我所拥有的:(?<=.*(teacher|grade)*.+>?)[^.](?=</td>)

注意:这是Python中的

1 个答案:

答案 0 :(得分:0)

不要预处理HTML,而是信任BeautifulSoup并使用正则表达式搜索:

soup.find_all('td', text=re.compile(','))

在包含逗号的标记中查找包含直接文本的所有<td>元素。