我有这段文字:
<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/