内存位置的std :: regex_error

'

我有一个正则表达式为:

std::regex regexp(
        R"(\$\ part,\ model.*[\n\r]([-]?[0-9]*\.?[0-9]+[Ee]?[-+]?[0-9]*),([-]?[0-9]*\.?[0-9]+[Ee]?[-+]?[0-9]*))",std::regex::extended);

代码可以编译,但是我收到以下错误:

Unhandled exception at 0x748F49C2 in regex.exe: Microsoft C++ exception: std::regex_error at memory location 0x00EFEE30.
生锈的

根据正则表达式规范,转义空格(不是特殊字符)的效果是不确定的:

9.4.2 ERE普通字符

...\在方括号表达式的上下文中除外,对普通字符的解释是未定义的<backslash>(),但未定义。

显然,在MSVC实现中std::regex_error会被抛出。

修复转义后,将编译正则表达式。

try {
    std::regex regexp(
        R"(\$ part, model.*[\n\r]([-]?[0-9]*\.?[0-9]+[Ee]?[-+]?[0-9]*),([-]?[0-9]*\.?[0-9]+[Ee]?[-+]?[0-9]*))", std::regex::extended);
}
catch (std::exception const& e) {
    std::cerr << e.what() << std::endl;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript变量的内存位置

来自分类Dev

std :: bad_alloc在内存位置0x002b123c

来自分类Dev

C ++ std :: out_of_range在内存位置

来自分类Dev

std :: list是否保证项目永远不会移动到其他内存位置?

来自分类Dev

异常:内存位置0x00e4df90上的std :: bad_alloc

来自分类Dev

IO位置与内存区域

来自分类Dev

与&映射的可变内存位置

来自分类Dev

运行时抛出std :: regex_error异常

来自分类Dev

内存位置和范围

来自分类Dev

C ++ 11正则表达式抛出std :: regex_error

来自分类Dev

std :: string的好处是不会将数据存储在连续的内存位置中(C ++ 11之前的版本)

来自分类Dev

C ++ std :: regex垃圾管道error_escape异常

来自分类Dev

抛出'std :: regex_error'实例后调用终止

来自分类Dev

写入特定的内存位置

来自分类Dev

std :: condition_variable的内存位置可能导致futex错误

来自分类Dev

C ++:未处理的异常:内存位置处的std :: out_of_range

来自分类Dev

另一个std :: bad_alloc在内存位置

来自分类Dev

std :: bad_alloc在内存位置0x002b123c

来自分类Dev

虚拟功能的内存位置

来自分类Dev

Microsoft C ++异常:内存位置处的std :: invalid_argument

来自分类Dev

写入特定的内存位置

来自分类Dev

内存位置和范围

来自分类Dev

内存位置中的推力:: sort_by_key system_error

来自分类Dev

抛出'std :: regex_error'实例后调用终止

来自分类Dev

C ++ std :: regex如何修复error_complexity?

来自分类Dev

内存映射文件位置

来自分类Dev

从 Hex 到 Dual 的转换总是导致内存位置处的 std::out_of_range

来自分类Dev

从 getattr() 获取内存位置

来自分类Dev

在抛出“std::regex_error”what() 实例后调用终止:括号未关闭

Related 相关文章

热门标签

归档