0

重複の可能性:
Java
RegEx で HTML タグを削除する方法は、XHTML の自己完結型タグを除く開始タグに一致します。

特定の HTML タグとそのコンテンツを削除したい。

たとえば、html が次の場合:

<span style='font-family:Verdana;mso-bidi-font-family:
"Times New Roman";display:none;mso-hide:all'>contents</span>

タグに「mso-*」が含まれている場合は、タグ全体 (開始、終了、コンテンツ) を削除する必要があります。

4

1 に答える 1

1

Dave Newtonがコメントで指摘したように、ここでは html パーサーが最適です。本当に難しい方法でやりたい場合は、次の正規表現が機能します。

    String html = "FOO<span style='font-family:Verdana;mso-bidi-font-family:"
        + "\"Times New Roman\";display:none;mso-hide:all'>contents</span>BAR";
    // regex matches every opening tag that contains 'mso-' in an attribute name
    // or value, the contents and the corresponding closing tag
    String regex = "<(\\S+)[^>]+?mso-[^>]*>.*?</\\1>";
    String replacement = "";
    System.out.println(html.replaceAll(regex, replacement)); // prints FOOBAR
于 2013-01-02T15:19:44.313 に答える