python 中的白名单某些 HTML 标签?
假设 allowed_bits = ['a', 'p']
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)))
但这不起作用。
有什么想法吗?我想消极匹配。
Let's say allowed_bits = ['a', 'p']
re.compile(r'<(%s)[^>]*(/>|.*?</\1>)' % ('|'.join(allowed_bits)))
matches:
<a href="blah blah">blah</a>
<p />
and not:
<html>blah blah blah</html>
What I want to do is turn it on its head, so that it matches
<html>blah blah</html>
<script type="text/javascript">blah blah</script>
and not:
<p>Hello</p>
My thinking was to do something like:
re.compile(r'<(**^**%s)[^>]*(/>|.*?</\1>)' % ('|'.join(allowed_bits)))
but this doesn't work.
Any ideas? I want to negatively match.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用否定先行断言
(?! … )
:Use a negative lookahead assertion
(?! … )
: