gpt4 book ai didi

c++ - Microsoft C++ 异常:std::regex_error 在内存位置

转载 作者:行者123 更新时间:2023-11-30 01:57:58 35 4
gpt4 key购买 nike

我使用 Visual C++ 2012 编写了以下代码来解析命令行参数。这些命令行参数具有传统的 GNU 风格(--option)。

void parseCmdLines(int argc, wchar_t* argv[]) {
for (auto i = 1; i < argc; ++i) {
std::wstring arg(argv[i]);
// I hope it can match the L"--config=../etc/my.conf"
std::wregex regex(L"--config=(+*)");
std::wsmatch match;
std::regex_match(arg, match, regex);

// TODO: ...
}

不幸的是,当我运行这个程序时,我遇到了一个异常。异常描述如下:

Microsoft C++ exception: std::regex_error at memory location 0x23F090.

我该如何解决这个问题?

最佳答案

您的问题可能出在 +* 上。

+ 表示一个或多个出现在它之前的内容,* 表示零个或多个出现在它之前的内容(因为有一个 (+ 之前,它不应该工作,因为这仅仅意味着一个组的开始,对于 * 之前的 +,你不能真的说“一个或多个中的零个或多个”)。

您的意思是 .*(即零个或多个)还是 .+(即一个或多个)?

关于c++ - Microsoft C++ 异常:std::regex_error 在内存位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18015254/

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