Csharp 正则表达式模式:
Regex rg = new Regex("(?i)(?<=>)[^<]+(?=</TD>)");
JavaScript 正则表达式模式:
var pattern = (?i)(?<=>)[^<]+(?=</TD>);
var result = str.match(pattern);
Csharp 正则表达式模式有效,但 javascript 正则表达式模式无效,请帮忙?
最佳答案
假设您有一个字符串形式的 HTML 片段并且位于浏览器中,尝试使用 JavaScript 来使用它:
var str = "<TD>33,7</TD><TD>100</TD><TD>20,0</TD>";
var temp = document.createElement("tr");
temp.innerHTML = str;
var tds = temp.getElementsByTagName("td")
for (var i=0; i<tds.length; i++) {
alert(tds[i].textContent); // use .innerText in Internet Explorer
}
看到了吗?不需要正则表达式 - 浏览器内置了功能完善的 HTML 解析器,无需创建自己的解析器。当使用像 jQuery 这样的 JavaScript 框架时,上面的事情变得更加容易:
$("<TD>33,7</TD><TD>100</TD><TD>20,0</TD>").find("td").each( function() {
alert( $(this).text() );
});
关于c# - JavaScript 正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2819113/