gpt4 book ai didi

c++ - 如何在 C++ 中匹配正则表达式中的\0 字符?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:57:57 26 4
gpt4 key购买 nike

我需要用与匹配“a”或“b”相同的正则表达式来匹配文本“\0”。 (C++ 中字符常量的正则表达式)。我尝试了很多不同的正则表达式,但还没有成功。我最近的尝试:

^['].|\\0[']

我尝试过的大多数其他东西都出现段错误,所以这真的是我得到的最接近的。

最佳答案

这与我测试过的 ('a','b','\0') 配合得很好。

如果你没有 std::regexboost::regex 我想你可以从中得到的是我使用的正则表达式是('.'|'\\0').

#include <boost/regex.hpp>
#include <string>
#include <iostream>
#include <vector>

int main() {
std::vector<std::string> strings;
strings.push_back(R"('a')");
strings.push_back(R"('b')");
strings.push_back(R"('\0')");
boost::regex rgx(R"(('.'|'\\0'))");
boost::smatch match;
for(auto& i : strings) {
if(boost::regex_match(i,match, rgx)) {
boost::ssub_match submatch = match[1];
std::cout << submatch.str() << '\n';
}
}
}

Example

关于c++ - 如何在 C++ 中匹配正则表达式中的\0 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15194513/

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