<p class="t"></p>xxxxxxxxxxxxxxx <p class="t"></p>-<a herf="xxxxxx.html">xxxxxxxx</a>比如以上html代码片段里,我想取<p class="t"></p>-<a herf="xxxxxx.html">xxxxxxxx</a>这段, 其它的不取,请问如何写正则表达式???
解决方案 »
- 关于JS的自调用函数问题
- C#写的ActiveX插件在ExtJS面板里闪动的问题。求解答啊...
- 请问javascript的Array[]的问题?
- 请教问题解释????
- 怎样实现在Firefox下图像预览 ?
- [高分求助] 求一套较复杂的页面操控程序,参与讨论的内容有借鉴意义,则都有分数相赠,谢谢。
- ASP中如何改变TEXT文本框内输入字的字体和大小
- 急问document.appendchild的问题,在线等!(急急急)
- 为什么我的浏览器不能打开JAVASCRIPT:()形式的链接呢?
- jQuery执行现在文件的请求,用什么方法
- JS控制DIV全屏化问题
- IE9、Chrome23在上传大文件的同时显示进度的差异
alert(s.replace(/^<p.+?(?=<p)/,''));
r eg="<p class=\"t\"></p>-<a herf=(?<url>.+?)>(?<content>.+?)</a>";
我用以上表达式的话无法实现
<span>4564373</span ><br/> <span>45673</span ><br/>
<p class="t">22455</p> - <a herf="xxxxxx.html">xxxxxxxx</a>
<span>45668973</span ><br/>
<p class="t">444566</p> - <a herf="xxxxxx.html">xxxxxxxx</a>
<div><p class="t">46643</p></div>
<p class="t">111444</p> - <a herf="xxxxxx.html">xxxxxxxx</a>
<table><tr><td>435678</td></tr></table>以上html也只是一个片段,想说明的是不能用排除替换来做
我想要取以上这段,其中数值和xxxx是动态的
\<p class="t">22455</p> - <a herf="xxxxxx.html">xxxxxxxx</a>\
\<span>45668973</span ><br/>\
\<p class="t">444566</p> - <a herf="xxxxxx.html">xxxxxxxx</a>\
\<div><p class="t">46643</p></div>\
\<p class="t">111444</p> - <a herf="xxxxxx.html">xxxxxxxx</a>\
\<table><tr><td>435678</td></tr></table>';
var ar=new Array(),r=null;
var reg=/<p class="t">\d+<\/p> - <a[^>]+>.+?<\/a>/ig;
while(r=reg.exec(s)){
ar.push(r[0]);
}
alert(ar);
string p = "<p class=\"t\">(?<content1>.+?)</p>\\s[-]\\s<a href=(?<url>.+?)>(? <content2>.+?)</a>"; Regex reg = new Regex(p, RegexOptions.IgnoreCase | RegexOptions.Compiled); MatchCollection ms = reg.Matches( myHtml);foreach (Match m in ms) { string url = m.Groups["url"].Value;string content1 = m.Groups["content1"].Value;string content2 = m.Groups["content2"].Value;}因为我想取括号里组合的值,你写的正则我无法套用或应用,不好意思,麻烦你了,(以上是c#代码)
string p = "<p class=\"t\">(?<content1>.+?)</p>\\s[-]\\s<a href=(?<url>.+?)>(? <content2>.+?)
这你能匹配到才见鬼了,当然,也可能是你写例子时手误,那就当我没说var reg = (/<p[^>]*class="t">([^<>]+?)<\/p>[\s]*?\-[\s]*?<a[^>]*href="([^"]*?)">([^<>]*?)<\/a>/i);
谢谢你的回答,你给的正则也适应我给出的例子数据,按照你9#的代码,有一小小的变化就是横线前后的空格不固定,有多个,有回车等,是不是要加\s呢??
另外我想将你的正则尽量往我代码靠,但都没执行成功,可能.NET里的正则与js有所不同吧!
var reg=/<p class="t">\d+<\/p>\s*-\s*<a[^>]+>.+?<\/a>/ig;