我在这个网站上看了很多例子,但仍然不能完全正确。我想抓住>
和<
之间的内容。
示例字符串:
<div class='col-lg-12 hintDisplay'>slavery <b>ALSO USE</b> human trafficking</div>
首先我做了:
var regexp = />(.*?)</g;
var matches_array = item.toString().match(regexp);
console.log(matches_array);
得到了:
>slavery <,>ALSO USE<,> human trafficking<
然后我读了更多并尝试过:
var regexp = /(>)(.*?)(?=<)/g;
var matches_array = item.toString().match(regexp);
console.log(matches_array);
现在:
>slavery ,>ALSO USE,> human trafficking
我找不到关于如何摆脱领先>
的文件。那么如何抓住>
和<
之间的内容?
答案 0 :(得分:2)
在这种情况下,我喜欢做一个正则表达式:
var regexp = />([^<]+)</;
这说以&gt;开头然后至少1个非&lt;然后是&lt;
尝试使用。*?通常会导致您遇到的问题:)
答案 1 :(得分:2)
在我看来,您应该使用内置的 HTML解析器并使用JQuery 或类似的东西来从HTML中获取文本。
不应该使用正则表达式HTML 的一些原因可以在这里找到:
您无法使用正则表达式解析[X] HTML。因为正则表达式无法解析HTML。正则表达式不是可用于正确解析HTML的工具。