首页 > 解决方案 > 使用 Java Regex 从 html 文件中删除二进制数据

问题描述

我有 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>

所以我正在尝试使用 Java Regex 删除所有具有二进制数据的“TEXT”标签。我尝试了 Jsoup 库,但它只删除了 html 标签。我在这里看到了同样的问题。但它没有使用 Java 正则表达式。

是否有任何标准方法可以从 html 文件中删除此二进制数据?

标签: javaregexjsoup

解决方案


   val regex =  """<TEXT>\s*begin \d+ (?>[^e]+|e(?!nd\s*<\/TEXT>))*end\s*<\/TEXT>"""

此处提供完整示例


推荐阅读