std :: regex无法匹配char

时间:2018-06-01 22:57:35

标签: c++ regex

我正在尝试使用正则表达式来匹配包含空格' '的字符。 使用g ++(Windows上的MinGW 8.1.0)编译时,它可靠地无法匹配。 使用onlinegdb编译时,它可靠地匹配

为什么这两者之间的行为会有所不同?在不使用std :: string(正确匹配)的情况下,使正则表达式正确匹配的最佳方法是什么?

我的代码:

#include <iostream>
#include <regex>
#include <string>

int main() {
    char a = ' ';
    std::string b = " ";
    cout << std::regex_match(b, std::regex("\\s+")) << \n; // always writes 1
    cout << std::regex_match(&a, std::regex("\\s+")) << \n; // writes 1 in onlinegdb, 0 with MinGW
}

0 个答案:

没有答案