0
Скажем allowed_bits = ['a', 'p']
Белый список определенных HTML-тегов в python?
re.compile(r'<(%s)[^>]*(/>|.*?</\1>)' % ('|'.join(allowed_bits)))
матчи:
<a href="blah blah">blah</a>
<p />
и нет:
<html>blah blah blah</html>
То, что я хочу сделать, это включить его на голову, так, чтобы он соответствовал
<html>blah blah</html>
<script type="text/javascript">blah blah</script>
и нет:
<p>Hello</p>
Мое мышление было сделать что-то вроде:
re.compile(r'<(**^**%s)[^>]*(/>|.*?</\1>)' % ('|'.join(allowed_bits)))
, но это не работает.
Любые идеи? Я хочу отрицательно соответствовать.
Не следует использовать регулярное выражение для разбора [X] [HT] ML. Он никогда не сможет работать надежно. Особенно не рекомендуется использовать регулярное выражение для фильтрации тегов HTML в качестве меры безопасности. Используйте правильный синтаксический анализатор XML или HTML (например, BeautifulSoup). – bobince