Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.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++::ReXEXIN匹配给出所有空值结果_C++_Boost Regex - Fatal编程技术网

C++::ReXEXIN匹配给出所有空值结果

C++::ReXEXIN匹配给出所有空值结果,c++,boost-regex,C++,Boost Regex,我面临一个奇怪的问题,那就是boost::regex_match给出所有空值结果 抱歉,问题描述不好。让我复制并粘贴下面的代码 我认为boostlib版本应该是boost1-47-0。Linux上的GCC 4.3.2 #include <iostream> #include <string> #include <boost/regex.hpp> using namespace std; int main() { string aFreeText =

我面临一个奇怪的问题,那就是boost::regex_match给出所有空值结果

抱歉,问题描述不好。让我复制并粘贴下面的代码

我认为boostlib版本应该是boost1-47-0。Linux上的GCC 4.3.2

#include <iostream>
#include <string>
#include <boost/regex.hpp>

using namespace std;

int main()
{
    string aFreeText = "26JAN07";
    boost::regex expression("([0-9]{2}[A-Z]{3}[0-9]{2})");
    boost::smatch results;

    if(boost::regex_match(aFreeText, results, expression))
    {
        for(int index=0; index<results.size(); index++)
            DEBUG("YI JI results[" << index << "].str(): " << results[index].str());
    }

    return 0;
}
然而,在日志中,显示非常奇怪

有人能帮我解决这个问题吗?我们将非常感谢你的帮助


如果提供的信息还不够,请随时留下您的评论,我稍后会添加它们。

您的代码在64位Windows 7上的Boost 1.55、GCC 4.9.2上运行良好

您的boost安装可能有问题

下面的代码按照您的预期生成以下结果

$ ./re.exe 
Results[0].str(): 26JAN07
C++代码:re.cpp


非常感谢您的快速回复。如果是这样,我想我需要找到解决这个问题的替代方案您应该试试这段代码,看看它是否导致了同样的问题。
#include <iostream>
#include <string>
#include <boost/regex.hpp>

using namespace std;

int main()
{
    string aFreeText = "26JAN07";
    boost::regex expression("[0-9]{2}[A-Z]{3}[0-9]{2}");
    boost::smatch results;
    if(boost::regex_match(aFreeText, results, expression))
    {
        for(size_t index=0; index<results.size(); ++index)
        {
            std::cout<<"Results[" << index << "].str(): " << results[index].str()<<std::endl;
        }
    }
    return 0;
}
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8)
PROJECT(RE)

#############################################################################
SET(Boost_USE_STATIC_LIBS   ON)
SET(Boost_USE_MULTITHREADED OFF)
FIND_PACKAGE(Boost 1.53 COMPONENTS regex REQUIRED)
#############################################################################
IF (NOT(MSVC))
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
ENDIF()

ADD_EXECUTABLE(re re.cpp)
INCLUDE_DIRECTORIES(SYSTEM ${Boost_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(re ${Boost_LIBRARIES})