gpt4 book ai didi

c++ - 如何使用 C++ Boost 的 regex_iterator()

转载 作者:可可西里 更新时间:2023-11-01 17:39:49 25 4
gpt4 key购买 nike

我正在使用 Boost 来匹配字符串中的子字符串。 Io 遍历结果,我需要使用 regex_iterator() .

那是我找到的唯一用法示例,但我不理解回调。有人可以给我一个函数的用法示例吗?


让我们假设我的输入文本是:

"Hello everybody this is a sentense
Bla bla 14 .. yes
date 04/15/1986
"

我想得到:

"Hello" "everybody" "this" "is" "a" "sentense" "bla" "yes" "date"

最佳答案

如果您不理解示例的唯一部分是回调,请考虑:

std::for_each(m1, m2, &regex_callback);

大致相当于:

for (; m1 != m2; ++m1){
class_index[(*m1)[5].str() + (*m1)[6].str()] = (*m1).position(5);
}

假设在您的情况下,您想要将所有匹配项存储在一个 vector 中,您可以这样写:

//Warning, untested:
boost::sregex_iterator m1(text.begin(), text.end(), expression);
boost::sregex_iterator m2;
std::vector<std::string> tokens;
for (; m1 != m2; ++m1){
tokens.push_back(m1->str()).
}

关于c++ - 如何使用 C++ Boost 的 regex_iterator(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2593288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com