gpt4 book ai didi

C++ Clang 无法解析此 Lookbehind Regex

转载 作者:行者123 更新时间:2023-11-30 01:49:23 25 4
gpt4 key购买 nike

<分区>

根据 regex101.com 和我称为“RegExRx”的应用程序,这是一个有效的正则表达式

(?<=\().*

也就是说,这应该匹配左括号字符后面的所有内容。以下是 regex101.com 对此的分析

/(?<=()./ (?<=() Positive Lookbehind - Assert that the regex below can be matched ( matches the character ( literally . matches any character (except newline) Quantifier: * Between zero and unlimited times, as many times as possible, giving back as needed [greedy]

但是,这个 C++11 程序抛出

libc++abi.dylib: terminating with uncaught exception of type std::__1::regex_error: The expression contained mismatched ( and ).

这是 Xcode 5.1.1 附带的 Clang。

问题:Clang 应该接受这个正则表达式吗?我怎样才能得到一个在语义上等同于这个的 std::regex?

#include <iostream>
#include <regex>

int main(int argc, const char * argv[])
{
std::string x{ "(?<=\\().*" };
std::cout << "Here is my regex string " << x << std::endl;
std::regex{ x }; // throws
return 0;
}

编辑:我的问题与提议的重复问题不同,因为我问“我怎样才能得到一个在语义上等同于这个的 std::regex?”下面的用户 hwnd 提供了语义等效的解决方法。

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