【发布时间】:2016-02-13 07:53:32
【问题描述】:
有如下代码:
boost::regex CriticalHit("<c=#f12d2d>(.+)</c>", boost::regex::icase);
想法是匹配
中的所有内容else if (boost::regex_search(text, damage, CriticalHit)) {
for (int i = 0; i < damage.size(); i++) {
HL_LOG_ERR("%s\n", damage[i]);
}
}
这将输出从<c=#... 部分开始的不同字符串。 damage[0] 给出整个字符串,damage[1] 从捕获组开始,然后是字符串的其余部分。
整个字符串看起来像“You critical hit for <c=#399999>5,992</c>”
我做错了什么?
【问题讨论】:
-
我们不知道您要匹配什么...这是第一件事错了。
-
对不起,我正在尝试匹配 5992。lll 编辑
-
所以正在删除我的格式
-
使用
.+?或.*?并没有什么不同。还尝试使用 match[0].first 和 match[0].second 等,但从未得到正确的结果 -
@sk099 “btsyaaa”到底是从哪里来的?