java - 什么正则表达式将与 Java 的 "replaceAll"函数一起操作,以从 html 字符串中删除 <p> html 标签及其内容?

标签 java html regex

什么正则表达式将与 Java replaceAll() 一起运行删除 <p> 的方法html 标签及其标签之间的内容来自 HTML 字符串?

例如,应用该方法后,

"<div><p>table <b>test</b> title</p><table><tbody><tr><td>this is table cell value</td></tr></tbody></table><p>miscellaneous contents</p><span>blah</span></div>"

变成:

"<div><table><tbody><tr><td>this is table cell value</td></tr></tbody></table><span>blah</span></div>"

注意:这是一项“学术”练习。我并不是在寻找使用 XML/HTML 解析器的解决方案。

<小时/>

更新:

越来越接近这个问题的解决方案(谢谢,jlordo!)...您的模式似乎有点工作...

但是,建议的正则表达式字符串 ( "<[pP]>.*?</[pP]>" ) 似乎对 <p> 没有影响。包含属性的标签(即,在本例中为“style”属性)——见下文,

    public static void main(String[] args)
    {
        String htmlstring = "<div><p style='text-align: center; font-style: italic'>[click the <b>submit</b> button to create the new company.]</p><table><tbody><tr><td>this is table cell value</td></tr></tbody></table><p>miscellaneous contents</p><span>blah</span></div>";
        htmlstring = htmlstring.replaceAll("<[pP]>.*?</[pP]>", "");
    }

htmlstring(清理前):

<div><p style='text-align: center; font-style: italic'>[click the <b>submit</b> button to create the new company.]</p><table><tbody><tr><td>this is table cell value</td></tr></tbody></table><p>miscellaneous contents</p><span>blah</span></div>

htmlstring(清理后):

<div><p style='text-align: center; font-style: italic'>[click the <b>submit</b> button to create the new company.]</p><table><tbody><tr><td>this is table cell value</td></tr></tbody></table><span>blah</span></div>

我们可以做些什么来“调整”它以解决这个问题吗?

最佳答案

尝试

    htmlstring = htmlstring.replaceAll("(?i)<p.*?>.*?</p>", "");

请注意,(?i) 表示打开不区分大小写标志

关于java - 什么正则表达式将与 Java 的 "replaceAll"函数一起操作,以从 html 字符串中删除 <p> html 标签及其内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16094078/

相关文章:

html - 如何让文本显示在复选框的左侧?

javascript - 使用可选逗号检查数值 javascript

Python:在定界符后提取特定数量的字符

java - 将文档作为参数传递给 Java 中的 XSL 翻译

java - 我们如何单击具有相同类名和相同名称的按钮

java - 与 Oracle DB 连接时网络适配器无法建立连接

java - 从json中提取json节点

javascript - select multiple 计算数量,隐藏部分元素

javascript - 在克隆表中查找可见行?

regex - grep regex 在两个已知字符串之间拉出一个字符串