用正则表达式找不到内容的问题

wei123456 2006-11-17 03:43:38
(?<=<(span\sid=\w+)>).*(?=<\/span>) 用于查找网页中<span id="...">内容</span>的内容,这个正则表达式经测试是正确的,但却找不到相应的内容,请问为什么,谢谢,谢谢!
...全文
103 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaney 2006-11-17
  • 打赏
  • 举报
回复
(<span[\s]+id[\s]*=.*?>)(.*?)(</span>)
mobydick 2006-11-17
  • 打赏
  • 举报
回复
LZ的正则:(?<=<(span\sid=\w+)>).*(?=<\/span>)
LZ的例子:<span id="...">内容</span>

============================================

LZ的正则和给的例子不匹配。
LZ的例子中,id的值使用双引号"标识出来,但是正则表达式中没有体现这一点。
另外span与id之间使用\s,就限制了span和id之间只能有一个空白字符,可能和实际情况不符。
最后,正则表达式在转成字符串的时候可能需要用到转义符,有可能写的有问题。

string regexStr = "(?<=<span\\s+id=.+?>).*?(?=</span>)";
这个正则大概可以满足LZ的要求。
chaney 2006-11-17
  • 打赏
  • 举报
回复
(<span[\s]+id[\s]+=.*?)(.*?)(</span>)
另外要忽略大小写
ZiRRen 2006-11-17
  • 打赏
  • 举报
回复
http://blog.csdn.net/mfkidt/archive/2006/10/13/1333364.aspx?Pending=true#h5
有详细的介绍.

还有个测试工具,特别小很方便的.

110,534

社区成员

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

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

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