我使用javascript在Node.js中工作。
我想使用正则表达式来获取父div字符串。
例如:
<div class="first">
<p> sample 1</p>
<div class="second">
<p>sample 2</p>
</div>
</div>
如何使用&#34;第一个&#34;?等级为div进行正则表达式但在第一个div内,第二个div也在那里。
我正在尝试以下正则表达式
<div class="first">([\s\S]*?)<\/div>
我得到错误的比赛,从第一个div开始到第二个div结束。
任何想法都能找到父div值。
提前致谢。
更新:同意。 DOM应该解决我的问题。但我的HTML没有很好地形成和修改。如果我使用DOM读取文档,则会出错。任何替代方式。
答案 0 :(得分:0)
你要找的是递归。 Javascript的正则表达式的实现不支持递归。事实上,唯一支持递归的正则表达式是Perl 5.10和Ruby 2.0 [Source]
这对您来说意味着您需要执行以下操作之一:
很明显,选项 1 是唯一合理的选择。