在javascript中使用regex只选择标记之间的文本

Using regex in javascript to select only text between tags

本文关键字:之间 文本 选择 javascript regex      更新时间:2023-10-31

我搜索了又搜索,但似乎找不到我需要的答案。我仍然在思考整个regex的事情——不知道足够的东西来解决这个问题,这似乎太简单了。

我有一个字符串"<a href="#">London<span>35.2miles</span></a>"

我需要把"London"中的所有内容都去掉,但我尝试的所有内容在"London<span>35.2miles</span>"中都会导致我似乎无法摆脱span标记和文本,以及a标签。

var root = document.createElement("div");
root.innerHTML = '<a href="#">London<span>35.2miles</span></a>';
alert( root.firstChild.firstChild.nodeValue );

下面的正则表达式应该可以工作;

/>([^<]*)/

它匹配从第一个>到另一个< 的任何内容

您可以将其与match()方法相结合,最终得到类似的结果;

var matches = '<a href="#">London<span>35.2miles</span></a>'.match(/>([^<]*)/);
if (matches) { // "null" if no matches, array if there was.
    var london = matches[1];
}