正则表达式的写法,高手来看看

shw586 2009-05-07 12:28:26
源如下
li class="p_current">1</li><li><a href="../JiaoCheng/indexp2.htm">2</a></li><li><a href="../JiaoCheng/indexp3.htm">3</a></li><li><a href="../JiaoCheng/indexp4.htm">4</a></li><li><a href="../JiaoCheng/indexp5.htm">5</a></li><li><a href="../JiaoCheng/indexp6.htm">6</a></li><li style="border-width:0">...</li><li><a href="../JiaoCheng/indexp123.htm">123</a></li><li><a href="../JiaoCheng/indexp2.htm" title="后页">»</a></li><li><div><input type="text" value="2" onkeydown="pager.Jump(event,this)"/></div><script type="text/javascript" src="../inc/pager.js"></script><script type="text/javascript">var pager=new iwmsPager(1,123,true);</script></li></ul></div>
我想匹配上面红的部分,应该怎么写?
...全文
150 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
gyouyang 2009-05-11
  • 打赏
  • 举报
回复
好长 晕倒
shw586 2009-05-11
  • 打赏
  • 举报
回复
我自己搞明白了,这么写
<a href='(?<url>[^<]+)'>下一页</a>
为了不浪费分,平均一下,感谢大家的帮助,结帐。
shw586 2009-05-11
  • 打赏
  • 举报
回复
各位的高见都行不通啊,我再举个类似的例子吧
源如下:
<a href='http://tech.ddvip.com/program/ccsharp/net/index_2.html'>2</a><a href='http://tech.ddvip.com/program/ccsharp/net/index_3.html'>3</a><a href='http://tech.ddvip.com/program/ccsharp/net/index_4.html'>4</a><a href='http://tech.ddvip.com/program/ccsharp/net/index_5.html'>5</a><a href='http://tech.ddvip.com/program/ccsharp/net/index_6.html'>6</a><a href='http://tech.ddvip.com/program/ccsharp/net/index_7.html'>7</a><a href='http://tech.ddvip.com/program/ccsharp/net/index_8.html'>8</a><a href='http://tech.ddvip.com/program/ccsharp/net/index_9.html'>9</a><a href='http://tech.ddvip.com/program/ccsharp/net/index_10.html'>10</a><a href='http://tech.ddvip.com/program/ccsharp/net/index_2.html'>下一页</a>
我想要匹配最后一行也就是“下一页”的href内容,其它的不要。其中“下一页”这个字符串不会变,前面的链接的地址和文字都会变,但不会是“下一页”。
qgylovelj 2009-05-08
  • 打赏
  • 举报
回复
头晕
-过客- 2009-05-08
  • 打赏
  • 举报
回复
try...


Match m = Regex.Match(yourStr, @"(?<=<a\s+href="")[^""]+(?=""\s+title=""后页"">)", RegexOptions.IgnoreCase);
if (m.Success)
{
richTextBox2.Text = m.Value;
}
sushou2009 2009-05-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 heruoyong 的回复:]
string str=
@"li class=""p_current"">1 </li> <li> <a href=""../JiaoCheng/indexp2.htm"">
2 </a> </li> <li> <a href=""../JiaoCheng/indexp3.htm"">3 </a> </li> <li>
<a href=""../JiaoCheng/indexp4.htm"">4 </a> </li> <li> <a href=""../JiaoCheng/indexp5.htm"">5 </a>
</li> <li> <a href=""../JiaoCheng/indexp6.htm"">6 </a>
</li> <li style=""border-width:0"">... </li> <li> <a href=""../JiaoCheng/…
[/Quote]
UP...............
Neil198 2009-05-08
  • 打赏
  • 举报
回复
帮顶
十八道胡同 2009-05-07
  • 打赏
  • 举报
回复
up
heruoyong 2009-05-07
  • 打赏
  • 举报
回复
@"(?<=\<a href\="")(?<Item>[^>""]*)(?=""[^>]*>.*</a>)"

结果为:
../JiaoCheng/indexp3.htm
../JiaoCheng/indexp4.htm
../JiaoCheng/indexp5.htm
../JiaoCheng/indexp6.htm
../JiaoCheng/indexp123.htm
../JiaoCheng/indexp2.htm


heruoyong 2009-05-07
  • 打赏
  • 举报
回复
string str=
@"li class=""p_current"">1 </li> <li> <a href=""../JiaoCheng/indexp2.htm"">
2 </a> </li> <li> <a href=""../JiaoCheng/indexp3.htm"">3 </a> </li> <li>
<a href=""../JiaoCheng/indexp4.htm"">4 </a> </li> <li> <a href=""../JiaoCheng/indexp5.htm"">5 </a>
</li> <li> <a href=""../JiaoCheng/indexp6.htm"">6 </a>
</li> <li style=""border-width:0"">... </li> <li> <a href=""../JiaoCheng/indexp123.htm"">123 </a> </li> <li>
<a href=""../JiaoCheng/indexp2.htm"" title=""后页"">» </a> </li> <li> <div>
<input type=""text"" value=""2"" onkeydown=""pager.Jump(event,this)""/> </div> <script type=""text/javascript"" src=""../inc/pager.js""> </script>
<script type=""text/javascript"">var pager=new iwmsPager(1,123,true); </script> </li> </ul> </div>";


Regex objRegex = new Regex(@"(?<=\<a href\="")(?<Item>[^>""]*)(?=""[^>]*>.*</a>)");

MatchCollection objCollection = objRegex.Matches(str);
for (int i = 0; i < objCollection.Count; i++)
{
Response.Write(
objCollection[i].Groups["Item"].Value + "<br/>");
}
shw586 2009-05-07
  • 打赏
  • 举报
回复
我要得到这个部分“JiaoCheng/indexp2.htm“,注意前面的123可能不确定,所以不能以123作为匹配字符
heruoyong 2009-05-07
  • 打赏
  • 举报
回复
匹配很好匹配,关键是你指红色的部分,哪些是变的,哪些是不变的,匹配的特性说清楚,是完全匹配,还是title和href有对应的范围
llsen 2009-05-07
  • 打赏
  • 举报
回复
sf
heruoyong 2009-05-07
  • 打赏
  • 举报
回复
拷贝的时候记得去掉正则匹配模式中的空格,CSDN提交帖子的时候,会自动加上去空格
HDNGO 2009-05-07
  • 打赏
  • 举报
回复
找title="后页"的a标签?
Jack2013tong 2009-05-07
  • 打赏
  • 举报
回复
(<a.[^>]*title="后页")
这个试试看
zzxap 2009-05-07
  • 打赏
  • 举报
回复
有空要补一下正则

110,477

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧