regex_match:C ++源代码没有编译。一切似乎都是对的

时间:2015-01-18 20:23:56

标签: c++ regex boost

我有以下问题:我必须构造匹配键的正则表达式。有效密钥以G,C,P或W开头,并且在这些可能的字母之一之后有五个字符是有效的十六进制符号,即它们中的每一个都可以是0到9之间的数字或者是'之间的字母'。 a'和'f'(混合使用大写和小写字母也是有效键)。我正在使用CodeBlocks 13.12和gcc 4.7,我在编译器选项中启用了这个:“让g ++遵循C ++ 11 ISO C ++语言标准”。我认为一切都是正确的,但它不会编译许多错误,而且所有错误都来自“undefined reference to ...”类型。这是源代码:


#include <iostream>
#include <boost/regex.hpp>
#include <string>
using namespace boost;
int main()
{
    regex mypattern("([GCPW])([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])");
    std::string myinput;
    std::cin >> myinput;
    if( regex_match( myinput, mypattern ) )
        std::cout << "SUCCESS!\n";
    else
        std::cout << "ERROR!\n";
    return 0;
}

0 个答案:

没有答案