我正在尝试使用正则表达式来匹配包含空格' '
的字符。
使用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
}