Regex以转义HTML标记

Regex to escape HTML Tag

本文关键字:标记 HTML 转义 Regex      更新时间:2023-09-26

我只想从html标记字符串名称中提取。我想得到这个结果:

  • 农场1
  • 分段
  • STAGING_SYSTEM_10

我可以使用什么类型的正则表达式?

<div class='singleNode'><i class='fa fa-cogs'></i><span>Farm 1<span class='badge badge-primary'></span><span></div>
 <div class='singleNode'><i class='fa fa-cubes'></i><span>STAGING<span class='badge badge-primary'></span><span></div>
<div class='singleNode'><i class='fa fa-desktop'></i><span>STAGING_SYSTEM_10<span class='badge badge-primary'></span><span></div>

如果必须使用regex,下面是示例代码:

var re = /<div[^>]*?>(?:<('S+)[^>]*?>[^<]*?<'/'1>)+<span[^]*?>([^<]*?)(?=<span )/g; 
var str = '<div class=''singleNode''><i class=''fa fa-cogs''></i><span>Farm 1<span class=''badge badge-primary''></span><span></div>'n'n <div class=''singleNode''><i class=''fa fa-cubes''></i><span>STAGING<span class=''badge badge-primary''></span><span></div>'n'n<div class=''singleNode''><i class=''fa fa-desktop''></i><span>STAGING_SYSTEM_10<span class=''badge badge-primary''></span><span></div>';
var m;
 
while ((m = re.exec(str)) !== null) {
    if (m.index === re.lastIndex) {
        re.lastIndex++;
    }
    // View your result using the m-variable.
    // m[2] is the 2nd capture group, the text inside the DIV element
    alert(m[2])
}

如果您可以使用DOM解析它,请使用以下代码:

var input = document.getElementsByTagName("div");
for ($i = 0; $i < input.length; $i++)
{
   alert(input[$i].textContent);
}
<body>
<div class='singleNode'><i class='fa fa-cogs'></i><span>Farm 1<span class='badge badge-primary'></span><span></div>
 <div class='singleNode'><i class='fa fa-cubes'></i><span>STAGING<span class='badge badge-primary'></span><span></div>
<div class='singleNode'><i class='fa fa-desktop'></i><span>STAGING_SYSTEM_10<span class='badge badge-primary'></span><span></div>
  </body>