"TEXT <p>TEST1</p><br><div> <p>TEST2</p></div>"
(字符串,而不是HTML)
在这里,我尝试捕获最后一个<p>
标记,直到</p></div>
。 (编辑:不只是之间的文字,我包括实际的字符串标签)
如何从</p><div>
开始到包含“TEST2”而不是“TEST1”的下一个<p>
?我遇到了这个问题,因为第一场比赛(前进)包含我正在寻找的比赛,而不是单独的比赛。
我知道我可以获取</p></div>
的索引,然后向后循环,直到找到<p>
,但这似乎效率低下。我也知道JavaScript中的RegEx不允许你根据这个答案(javascript regex search from end of string to begining)从字符串末尾进行搜索,所以只是发帖,因为我不知道更优化的解决方案。
答案 0 :(得分:1)
答案 1 :(得分:-1)
var testStr='<p>TEST1</p><br><div> <p>TEST2</p></div>';
var matchesStr=testStr.match(/(\<[p]\>)(.|\;)*(\<\/p\>\<\/div\>){1}$/g);
// get your required result from array matchesStr
console.log(matchesStr);
$('#matchResult').text(matchesStr.join(','));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="matchResult"></div>
&#13;