在javascript中使用正则表达式来获取<span>标签的内容

Jor*_*rge 1 javascript regex jquery

我有一个这个表格的字符串

<p>Central: <span class="fieldText">Central_Local</span>
<br>Area Resolutoria:  <span class="fieldText">Area_Resolutoria</span>
<br>VPI:  <span class="fieldText">VIP</span>
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取span元素,并在其中找到值

var message = currentMarker.get("mensaje");
var pat = new RegExp("^(.*?<span .*?>(.*?)</span>.*?)+$");
message.match(pat);
Run Code Online (Sandbox Code Playgroud)

我需要获得这些值:

Central_Local
Area_Resolutoria
VIP
IP_ERX
Run Code Online (Sandbox Code Playgroud)

如何做到这一点,或者我的正则表达式如何得到改善?

Gab*_*oli 5

jQuery的

var message = currentMarker.get("mensaje");
var contents = [];
$('<div>', {html: message }).find('span.fieldText').each(function(){
  contents.push( $(this).text() );
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/DfDPR/2/的演示


纯粹的javascript

var message = currentMarker.get("mensaje");
var contents = [];

var div = document.createElement('div');
div.innerHTML = message;
var spans = div.getElementsByTagName('span');
for (var span = 0; span < spans.length; span++)
{
    contents.push(spans[span].innerHTML);
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/DfDPR/3/上的演示


正如评论中所提到的,正则表达式不适合解析HTML ...