Другими словами, можно использовать /<tag[^>]*>.*?<\/tag>/ regex для соответствия элементу tag html, который не содержит вложенных элементов tag?
Например (lt.html):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>greater than sign in attribute value</title>
  </head>
  <body>
    <div>1</div>
    <div title=">">2</div>
  </body>
</html>
Regex:
$ perl -nE"say $1 if m~<div[^>]*>(.*?)</div>~" lt.html
И экранный скребок:
#!/usr/bin/env python
import sys
import BeautifulSoup
soup = BeautifulSoup.BeautifulSoup(sys.stdin)
for div in soup.findAll('div'):
    print div.string
$ python lt.py <lt.html
Оба дают одинаковый вывод:
1
">2
Ожидаемый результат:
1
2
w3c говорит:
Значения атрибутов представляют собой смесь текста и символьные ссылки, за исключением дополнительное ограничение, которое текст не может содержать двусмысленный амперсанд.
