javascript - 正则表达式转义 HTML 标签

标签 javascript html regex

我只想从 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>

最佳答案

如果您必须使用正则表达式,这里是示例代码:

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>

关于javascript - 正则表达式转义 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29386039/

相关文章:

regex - unix下隐藏文件的正则表达式

javascript - 在javascript中访问回调函数的变量 "outside"

javascript - `npm audit` 不断返回 "Your configured registry (https://registry.npmjs.org/) does not support audit requests."。我如何让它再次工作?

JavaScript:覆盖警报()

python - 两个单词边界 (\b) 以隔离单个单词

java - 如何验证输入是否匹配特定的时间戳格式?

javascript - 多个嵌套 if 语句不计算

html - 使用边距或填充时,文本不会相应地留边距吗?

php - 如何在html设计中显示20列

html - 如何制作扩展出 960 网格系统的彩色背景?