response = """
<tr class="someClass
"><td></td><td>chicken</td></tr><tr class="someClass"><td></td><td>chic
ken</td></tr><tr class="someClass"><td></td><td>cow</td></tr><tr class="someC
lass"><td></td><td>cow</td></tr><tr
class="someClass"><td></td><td>c
ow
</td></tr>
"""
response = response.replace('\n', '')
r1 = re.compile('<tr.*?tr>', re.DOTALL)
r2 = re.compile('.*cow.*', re.DOTALL)
for m in r1.finditer(response):
    n = r2.match(m.group())
if n:
    pass
Комплексное нежадное сопоставление с регулярными выражениями