这通常并不难,但今天我似乎无法删除一个简单的javascript标记。。在
我使用的示例(格式化):
<section class="realestate oca"></section>
<script type="text/javascript" data-type="ad">
window.addEventListener('DOMContentLoaded', function(){
window.postscribe && postscribe(document.querySelector(".realestate"),
'<script src="https://ocacache-front.schibsted.tech/public/dist/oca-loader/js/ocaloader.js?type=re&w=100%&h=300"><\/script>');
});
</script>
我使用的示例(原始)
^{pr2}$我想删除从<script
(第二行的开头)到{<section..>
。在
下面是我的代码:
re.sub(r'<script[^</script>]+</script>', '', text)
#or
re.sub(r'<script.+?</script>', '', text)
我显然漏掉了一些东西,但我看不出是什么。
注意:我正在处理的文档主要包含纯文本,因此不需要使用lxml或类似的解析。在
第一个regex不起作用,因为字符类(}与{}分隔
[...]
)是一个字符集合,而不是字符串。因此,只有当它发现<script
与</script>
之间由一个不包括<
、/
、s
、c
等的字符串分隔的{第二个regex更好,它不能工作的唯一原因是默认情况下,} 标志:
.
通配符与换行符不匹配。要告诉它您想要它,您需要添加^{相关问题 更多 >
编程相关推荐