小编afa*_*lco的帖子

为什么使用"cmatch"的C++正则表达式代码会引发"smatch"异常?

我是C++正则表达式的新手,不能使用字符串而不是char*.到目前为止我看到的例子总是用于c字符串.

我真正的程序,我甚至不会尝试在这里显示,使用子匹配,但我无法使它们工作,所以我试图修改一个非常简单的工作示例,但它也不起作用.我使用Visual Studio 2010 Ultimate.

原始 - 工作 - 代码:

const char *first = "abcd"; 
const char *last = first + strlen(first); 
std::cmatch mr; 
std::regex rx("abc"); 
std::regex_constants::match_flag_type fl = std::regex_constants::match_default;

std::cout << "search(f, l, \"abc\") == " << std::boolalpha 
          << regex_search(first, last, mr, rx) << std::endl; 
std::cout << "  matched: \"" << mr.str() << "\"" << std::endl; 

std::cout << "search(\"xabcd\", \"abc\") == " << std::boolalpha
          << regex_search("xabcd", mr, rx) << std::endl; 
std::cout << "  matched: \"" << mr.str() << "\"" …
Run Code Online (Sandbox Code Playgroud)

c++ regex visual-studio-2010

5
推荐指数
1
解决办法
3007
查看次数

标签 统计

c++ ×1

regex ×1

visual-studio-2010 ×1