std :: regex构造抛出异常

hui zhang

搜索线

km.key.AB_ABCDEFG

我要提取“ AB”

我用 std::regex

string pattern("^km\\.key\\.([A-Z]{2})_");    //this throw a exception

regex reg(pattern, std::regex::extended );
smatch sm;
if(regex_match(line,sm,reg))
{
    key_type = sm[1];
    return 0;   
}

但是我确信这个正则表达式是正确的。

std::regex 好难用吗?

请帮忙。

里马斯

看起来像是编译器错误(针对gcc提到的一个错误:https : //gcc.gnu.org/bugzilla/show_bug.cgi? id =52719)。尝试另一个编译器。

正则表达式的另一个问题是-它必须与整个字符串匹配,请查看文档

请注意,regex_match将仅将正则表达式成功匹配到整个字符序列,而std :: regex_search将成功匹配子序列。

这必须工作: ^km\\.key\\.([A-Z]{2})_.*

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

运行时抛出std :: regex_error异常

来自分类Dev

线程创建C ++ std :: thread抛出异常

来自分类Dev

默认的std :: list <int>构造函数可以抛出吗?

来自分类Dev

std :: exception_ptr复制构造函数可以抛出吗?

来自分类Dev

std :: cin不会在输入错误时抛出异常

来自分类Dev

std :: vector.push_back()抛出badalloc异常

来自分类Dev

如何使用 std::transform 抛出越界写入异常?

来自分类Dev

无法捕获由std :: thread构造函数引发的异常

来自分类Dev

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

来自分类Dev

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

来自分类Dev

<regex> std::regex 等价于 Qt 的 QRegularExpression::isValid() 而不会触发异常

来自分类Dev

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

来自分类Dev

跨DLL边界的构造方法抛出异常

来自分类Dev

从防护类析构函数抛出异常会导致std :: terminate

来自分类Dev

为什么std :: string :: substr抛出异常而不是返回空字符串?

来自分类Dev

为什么返回vector <string>会抛出std :: bad_alloc异常?

来自分类Dev

MSVC 2015中带有从std :: async抛出异常的奇怪行为

来自分类Dev

C++ 合并排序实现中抛出的 std::out_of_range 异常

来自分类Dev

C++11:Mac 上的 Clang 没有捕获 std::thread 函数抛出的异常?

来自分类Dev

我应该使用 std::cerr 和 exit() 而不是抛出异常吗?

来自分类Dev

可以设置一种自定义异常类型,以通过std :: map :: at方法抛出该异常吗?

来自分类Dev

bug in std :: regex?

来自分类Dev

如何使用std :: regex?

来自分类Dev

不将std :: string嵌入异常的规则是否仍然适用于move构造函数?

来自分类Dev

从noexcept函数参数的构造函数引发的异常是否会立即导致对std :: terminate()的调用?

来自分类Dev

如果禁用了异常,std :: vector <T>是否可以使用T的move构造函数?

来自分类Dev

std :: pair构造函数接口

来自分类Dev

std :: array构造函数继承

来自分类Dev

std可选复制构造函数

Related 相关文章

  1. 1

    运行时抛出std :: regex_error异常

  2. 2

    线程创建C ++ std :: thread抛出异常

  3. 3

    默认的std :: list <int>构造函数可以抛出吗?

  4. 4

    std :: exception_ptr复制构造函数可以抛出吗?

  5. 5

    std :: cin不会在输入错误时抛出异常

  6. 6

    std :: vector.push_back()抛出badalloc异常

  7. 7

    如何使用 std::transform 抛出越界写入异常?

  8. 8

    无法捕获由std :: thread构造函数引发的异常

  9. 9

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

  10. 10

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

  11. 11

    <regex> std::regex 等价于 Qt 的 QRegularExpression::isValid() 而不会触发异常

  12. 12

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

  13. 13

    跨DLL边界的构造方法抛出异常

  14. 14

    从防护类析构函数抛出异常会导致std :: terminate

  15. 15

    为什么std :: string :: substr抛出异常而不是返回空字符串?

  16. 16

    为什么返回vector <string>会抛出std :: bad_alloc异常?

  17. 17

    MSVC 2015中带有从std :: async抛出异常的奇怪行为

  18. 18

    C++ 合并排序实现中抛出的 std::out_of_range 异常

  19. 19

    C++11:Mac 上的 Clang 没有捕获 std::thread 函数抛出的异常?

  20. 20

    我应该使用 std::cerr 和 exit() 而不是抛出异常吗?

  21. 21

    可以设置一种自定义异常类型,以通过std :: map :: at方法抛出该异常吗?

  22. 22

    bug in std :: regex?

  23. 23

    如何使用std :: regex?

  24. 24

    不将std :: string嵌入异常的规则是否仍然适用于move构造函数?

  25. 25

    从noexcept函数参数的构造函数引发的异常是否会立即导致对std :: terminate()的调用?

  26. 26

    如果禁用了异常,std :: vector <T>是否可以使用T的move构造函数?

  27. 27

    std :: pair构造函数接口

  28. 28

    std :: array构造函数继承

  29. 29

    std可选复制构造函数

热门标签

归档