首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

std:regex库执行情况如何和预计的不一样?求正则帝

2013-07-16 
std::regex库执行情况怎么和预计的不一样?求正则帝用std::regex分析网页数据,正则我先用工具测试了运行正

std::regex库执行情况怎么和预计的不一样?求正则帝
用std::regex分析网页数据,正则我先用工具测试了运行正常,但到了std::regex下死活匹配不到,我用了简单的数据进行测试,还是不行,大家帮忙看看是我写错了么?

源文本:


自己摸索了很长时间,百思不得骑姐啊。。。
[解决办法]
引用:
Quote: 引用:

用 std::regex re("<.*/n(.*)">"); 呀, 你的第一个字符是 <, 不知道你一开始来个 " 是什么意思, 测试是怎么通过的.

噢,是的,一开始的代码写错了。我查了一下,不应该用regex_match的,因为它要求完全匹配。
应该改用regex_search,只搜索匹配的部分。我后面改用regex_search了。

现在我各种改啊  ,,改成   "\\./(n.+)(?=\\.html)
想匹配到 n0866_mitsuka_koizumi_tg_j 就行了,但还是匹配到n0866_mitsuka_koizumi_tg_j.html">

我想是不是那个.+ 引发的无限匹配

你的目的究竟是什么? 要提取中间的网址 ./n0866_mitsuka_koizumi_tg_j.html 吧?
用 search 的话正则写成 std::regex re("href="([^"]*)""); 即可.

热点排行