Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提取标记之间的所有值_Javascript_Regex - Fatal编程技术网

Javascript 提取标记之间的所有值

Javascript 提取标记之间的所有值,javascript,regex,Javascript,Regex,首先,我的输入不是格式良好的XML。所以基本上我有一堆标签。如何使用javascript/Regex提取标记之间的所有值 输入: <bad xml doc> <a>dsda</a> <message>hi</message> <b></b> <c>dsds</c> <message>get this message too</message> 输出: 嗨 也收到这

首先,我的输入不是格式良好的XML。所以基本上我有一堆标签。如何使用javascript/Regex提取标记之间的所有值

输入:

<bad xml doc>
<a>dsda</a>
<message>hi</message>
<b></b>
<c>dsds</c>
<message>get this message too</message>
输出:

嗨 也收到这个消息


jQuery实际上非常适合解析和遍历XML以及HTML。策略是使用坏XML创建一个jQuery对象,然后可以使用CSS选择器进行查询

例如,要提醒第一条消息中的文本,请执行以下操作:

var badDoc = $('<bad xml doc><a>dsda</a><message>hi</message><b></b><c>dsds</c><message>get this too</message>');
alert(badDoc.find('message')[0].innerHTML);
您可以与全局标志一起使用:

var messages = text.match(/<message>(.*?)<\/message>/g).map(function (m) {
  return m.slice(9, -10);
})
console.log(messages.join('\r\n'));
var text='1〕\ dsda\ 嗨\ \ DSD\ 也得到这个信息'; var messages=text.match/*?/g.mapm函数{ 返回m.9,-10; };
window.alertmessages.join'\r\n';XML从何而来?格式错误的文档永远无法正确解析。不要试图纠正这些症状。找出原因!错误消息已连接成一个长字符串,因此它包含大量xml消息和文本。我只是尝试将其作为文本输入,并使用js/regex获取Tagsry this/*?/之间的所有值。它是否需要像下面这样在第一行周围加单引号:var re='/.*/gm';不,第一行不需要单引号。请看这一页:不客气。。。如果这解决了您的问题,请将问题标记为已解决。我该怎么做?绿色复选框?仅返回第一条消息。我可以将消息与\r\n连接起来吗?@gishman是的。只需使用所需的分隔符加入消息数组,如\r\n。
var messages = text.match(/<message>(.*?)<\/message>/g).map(function (m) {
  return m.slice(9, -10);
})
console.log(messages.join('\r\n'));