javascript - 正则表达式 JavaScript 问题

标签 javascript regex

我有这段文字:

<body> 
<span class="Forum"><div align="center"></div></span><br /> 
<span class="Topic">Text</span><br /> 

   <hr /> 
  <b>Text</b> Text<br /> 
  <hr width=95% class="sep"/> 
  Text<a href="Text" target="_blank">Text</a> 
   <hr /> 
  <b>Text</b> -Text<br /> 
  <hr width=95% class="sep"/> 
 **Text what i need.**
   <hr /> 

和我的“Text what I need”正则表达式 - /"sep"(.*)hr/m

这是错误的:为什么?

最佳答案

不要使用正则表达式,而是使用 DOM 方法:

var elems = document.getElementByTagName("hr");
for (var i=0; i<elems.length; ++i) {
    var elem = elems[i];
    if (/(?:^|\s+)sep(?:\s|$)/.test(elem.className) &&
        elem.nextSibling && elem.nextSibling.nodeType === Node.TEXT_NODE) {
        var text = elems.nextSibling.nodeValue;
        break;
    }
}

这将选择所有 HR 元素,检查它是否具有 sep 类,如果它是文本节点,则获取下一个兄弟节点。

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

相关文章:

javascript - 相对于整个屏幕在 iframe 内保持固定位置

javascript - 表情符号输入正则表达式搞砸了

MySQL通过相关性从句子的任何位置获取完整的单词匹配(不是字符)

python - 排除以分号开头的单词的正则表达式

php - 是否有免费网站可以在线存储代码(php、javascript、css)?

javascript - 如何在页面刷新时保留之前的数据?

javascript - 即使在支持 websockets 的浏览器上,SockJS 也会模拟 websockets 吗?

javascript - 匹配线性渐变及其字符串内容的正则表达式

包含斜杠和星号作为常量的正则表达式

javascript - 如何修改带幻灯片效果的饼图大小