我的html文件包含二进制数据的标签,如:
<HTML>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">
<TEXT>
begin 644 image_002.jpg
M_]C_X 02D9)1@ ! 0 0 ! #_VP!# @&!@<&!0@'!P<)"0@*#!0-# L+
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I+# Q-#0T'R<Y/3@R/"XS-#+_
MVP!# 0D)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
,Z4]1]: %HHHIB/_9
end
</TEXT>
<TEXT>losses occurring in the third quarter and from weather </TEXT>
</BODY>
</HTML>
所以我试图删除所有&#34; TEXT&#34;标记那些使用Java Regex的二进制数据。我试过Jsoup library但它只删除了html标签。我看到同样的问题here。但它没有使用Java Regex。
是否有任何标准方法可以从html文件中删除此二进制数据?
答案 0 :(得分:1)
众所周知,您不应该使用正则表达式来处理xhtml。
我会使用jsoup删除整个标记,然后将其添加为空。
但是如果你想使用正则表达式,那么你可以使用这样的正则表达式:
"your html here".replaceAll("(?s)<TEXT>.*?<\\/TEXT>", "<TEXT></TEXT>")
<强> Working demo 强>
答案 1 :(得分:1)
val regex = """<TEXT>\s*begin \d+ (?>[^e]+|e(?!nd\s*<\/TEXT>))*end\s*<\/TEXT>"""
完整示例here