Удалить двоичные данные из HTML-файла с помощью Java Regex - PullRequest
0 голосов
/ 02 мая 2018

У меня есть 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>

, поэтому я пытаюсь удалить все теги "TEXT", имеющие двоичные данные, с помощью Java Regex. Я попробовал Jsoup library Но он удаляет только HTML-теги. Я видел тот же вопрос здесь . Но он не использует Java Regex.

Есть ли какой-нибудь стандартный способ удаления этих двоичных данных из файла html?

Ответы [ 2 ]

0 голосов
/ 15 мая 2018
   val regex =  """<TEXT>\s*begin \d+ (?>[^e]+|e(?!nd\s*<\/TEXT>))*end\s*<\/TEXT>"""

Полный пример доступен здесь

0 голосов
/ 02 мая 2018

Хорошо известно, что вы не должны использовать регулярные выражения для обработки xhtml.

Я бы использовал jsoup, чтобы удалить весь тег, а затем добавить его пустым.

Но если вы хотите использовать регулярное выражение, то вы можете использовать регулярное выражение, например:

"your html here".replaceAll("(?s)<TEXT>.*?<\\/TEXT>", "<TEXT></TEXT>")

Рабочая демоверсия

...