Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 当我的正则表达式无效时,为什么正则表达式匹配不抛出错误?_C++_Regex_C++11 - Fatal编程技术网

C++ 当我的正则表达式无效时,为什么正则表达式匹配不抛出错误?

C++ 当我的正则表达式无效时,为什么正则表达式匹配不抛出错误?,c++,regex,c++11,C++,Regex,C++11,我编写了这样的代码regex\u match(“ab”,“a**b”),它返回true。 正如我们所知,“a**b”是一个无效的正则表达式,不是吗?--至少在中是无效的。 我试图抓住一个例外,但什么也没发生。它只是执行为“a**b”是一个有效的正则表达式。 当我尝试使用regex_搜索时,也没有发生任何事情。 我想知道我是否误用了这个函数,或者regex库中有一个bug。是什么让你认为它会抛出错误?您是否检查了@Tas的返回值?如果正则表达式不正确,则会出现std::regex_错误,并且会出现

我编写了这样的代码
regex\u match(“ab”,“a**b”)
,它返回true。 正如我们所知,“a**b”是一个无效的正则表达式,不是吗?--至少在中是无效的。 我试图抓住一个例外,但什么也没发生。它只是执行为“a**b”是一个有效的正则表达式。 当我尝试使用regex_搜索时,也没有发生任何事情。
我想知道我是否误用了这个函数,或者regex库中有一个bug。

是什么让你认为它会抛出错误?您是否检查了@Tas的返回值?如果正则表达式不正确,则会出现
std::regex_错误
,并且会出现异常,但是。OP的代码不会编译,但它通过
regex_匹配(“ab”,std::regex(“a**b”))得到了足够简单的修复。什么使您认为它会抛出错误?您是否检查了@Tas的返回值?如果正则表达式不正确,则会出现
std::regex_错误
,并且会出现异常,但是。OP的代码不会编译,但它通过
regex_匹配(“ab”,std::regex(“a**b”))得到了足够简单的修复