java 递归 正则_正则表达式:以递归方式删除HTML中的周围<div>标记

在有人抱怨不使用正则表达式来解析HTML之前,我引用了一个优雅的解决方案我之前的一个问题很快被标记为"answered"另一个问题的答案抱怨不使用正则表达式来解析HTML(最终从我的问题中删除了):Regex: Find groups of lowercase letters between HTML tag

我再次使用epubs(在Sigil中),这次清理了InDesign CC的XHTML输出 . 与以前的ID版本不同,它现在围绕许多具有额外

标签的对象,用于某种定位/布局原因 . 我正在编写自己的干净CSS,因此在不生成CSS的情况下导出epub,在其他
周围留下无关的
标签,有时包含不必要的
的嵌套结构 .

我正在处理的一个例子:

Figure 1.3: Foobar

foo

This is a caption, yadda yadda.

Source: Copyright blah blah.

注意: 注释是说明性的,并且不在实际代码中 .

我写了这个正则表达式试图删除没有样式的周围

标签取得了一些成功,但我希望有一个更优雅的解决方案:

^(\s*)

\n\s*(
.+?
)\n\1

上面的字符串匹配最外面的

,然后我可以用 \1\2 替换以保留内容和第一个缩进(尽管缩进不是绝对必要的) .

这个问题是我必须多次 find/replace all 才能获得并删除所有嵌套的不必要的

.

这是不是很好,或者是否有像我上面为此目的链接的解决方案?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值