谁有研究过boost的regex.帮我看看这个正则错哪了..

gnhao 2009-10-14 06:21:20
:\d+</p>(?<content>[\s\S\n]*?)<p|:\d+</p>(?<content>[\s\S\n]*?)<br\s*?/><br\s*?/>
这正则不能工作啊.匹配不了下边的html

<p class="author"><strong>abcnic18</strong> 发表于 2009-9-24 13:45</p>
沙发支持·!!<p class="author"><strong>ssgggll</strong> 发表于 2009-9-24 14:21</p>
支持什么哦。。。有没有人会做图的啊<p class="author"><strong>lhxhryx</strong> 发表于 2009-9-24 17:01</p>
好像在那里见过似的<p class="author"><strong>sjjogpl</strong> 发表于 2009-9-25 21:23</p>
<h3>QQ</h3>[i=s] 本帖最后由 sjjogpl 于 2009-9-25 21:26 编辑 [/i]<br />
<br />
((em:12))LZ需要什么图片,我可以帮忙ps! QQ:5788878<p class="author"><strong>yangjiangh</strong> 发表于 2009-9-26 00:57</p>
好像在那里见过((em:01))<p class="author"><strong>ssgggll</strong> 发表于 2009-9-26 22:29</p>
当然在MOP见过<p class="author"><strong>ssgggll</strong> 发表于 2009-9-27 07:47</p>
没有人喜欢吗<p class="author"><strong>ssgggll</strong> 发表于 2009-9-27 07:49</p>
再顶!!!!!!!!!!!!!!!!!!!!!!!!!!!<p class="author"><strong>yiwei123</strong> 发表于 2009-9-27 09:44</p>
这个好象分类下的页面不显示图片和信息的。。<p class="author"><strong>okooh</strong> 发表于 2009-9-27 09:53</p>
看看:lol <br />
<br />
<br />
QQ非主流网为您提供QQ空间皮肤代码,QQ空间免费皮肤,QQ空间留言代码,QQ空间模块,QQ空间素材图片及非主流图片,非主流头像,非主流个性签名,非主流闪图,非主流美女,非主流日志,非主流网名等内容,努力打造最新潮的非主流QQ空间站!<br />
<br />
网址:http://qqfzl.i5i4.com/<p class="author"><strong>shenwu</strong> 发表于 2009-9-27 10:12</p>
((em:02))  演示演示<p class="author"><strong>ssgggll</strong> 发表于 2009-9-28 09:56</p>
这么好的风格啊<p class="author"><strong>ssgggll</strong> 发表于 2009-9-28 09:56</p>
引用
这个好象分类下的页面不显示图片和信息的。。<br />
[size=2]yiwei123 发表于 2009-9-27 09:44 [/size]
<br />
<br />
<br />
    <br />
<br />
截图那个??<p class="author"><strong>ssgggll</strong> 发表于 2009-9-28 10:01</p>
不能沉啊~!~~<p class="author"><strong>ssgggll</strong> 发表于 2009-9-28 10:02</p>
不能沉下去啊!!!!!!!!!!!!<p class="author"><strong>ssgggll</strong> 发表于 2009-9-28 10:04</p>
我顶高高!!!!!!!!!!!!!!!!!!!!!!!!!<p class="author"><strong>ssgggll</strong> 发表于 2009-9-28 10:04</p>
这个好象分类下的页面不显示图片和信息的。。<br />
<br />
那里啊????<p class="author"><strong>ssgggll</strong> 发表于 2009-9-28 10:06</p>
不能沉啊!!!!!!!!!!!!!<p class="author"><strong>ssgggll</strong> 发表于 2009-9-28 10:11</p>
哈哈~~~~~~~终于有人买了!!!!!
<br /><br />


这条正则在.net下可以工作.很多地方boost的regex和.net的正则通用的.这条咋不行了...
说白了就是想匹配出里边的内容
...全文
134 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huofen2005 2009-10-15
  • 打赏
  • 举报
回复
</p>(? <content>[\s\S\n]*?) <p --- 这个非贪婪修饰会导致大量回溯,貌似效率差点
</p>(? <content>[[\s\S\n]&&[^<]]*) <p --- 可以替换为贪婪的
huofen2005 2009-10-15
  • 打赏
  • 举报
回复
[\s\S\n]* 那不就等于 [.\n]*
huofen2005 2009-10-15
  • 打赏
  • 举报
回复
很多引擎.不能匹配换行的,匹配数字应该可以!
示例中的我可以看明白:
</p>(?<content>(?:[.\n\d])+)<p
gnhao 2009-10-14
  • 打赏
  • 举报
回复
上边是个示例.不是那个正则.晕csdn不能编辑贴子.
gnhao 2009-10-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 huofen2005 的回复:]
好长啊!
[/Quote]
呵呵.给个简化过的.
	regex regstr;
regstr= "</p>(?<content>[.]*?)<p";
//regstr="(?<content>dsa*?)";
// CString st=Get("http://www.discuz.net/archiver/?tid-1423782.html");

string testString(":45</p>\
沙发支持·!!<p ");
boost::smatch what;
string::const_iterator beg=testString.begin();
string::const_iterator end=testString.end();


while(regex_search(beg,end, what, regstr) )
{

std::cout<< "Name:" <<what["content"].str() << std::endl;
beg=what[0].second;
}

发现匹配不了数字.换行.....
gnhao 2009-10-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 akirya 的回复:]
这种html解析的事情还是找一个html解析器比较好一些
[/Quote]
html解析器没用啊.我只是要匹配出内容.并不是要解析它的标签.层次一类的.

这条正则我去Delphi下试试.看能用不.哎.
huofen2005 2009-10-14
  • 打赏
  • 举报
回复
好长啊!
  • 打赏
  • 举报
回复
这种html解析的事情还是找一个html解析器比较好一些

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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