1
我有以下代码:C++正则表达式不工作w/PCRE表达?
include <regex>
include <string>
TCHAR basePath[MAX_PATH];
GetCurrentDirectory(MAX_PATH, basePath);
wstring test(&basePath[0]); //convert to wstring
string test2(test.begin(), test.end()); //and convert to string.
std::regex rBase("(.*my-dir)");
std::smatch sm;
std::regex_match(test2, sm, rBase);
然而,SM总是返回空
基本上,如果我有以下目录结构:
E:\foo\bar\baz\my-dir\post1\dir2
我需要返回
"E:\foo\bar\baz\my-dir"
正则表达式似乎工作,如果我运行它虽然说,pytho n或javascript,但在C++中不在此处
我在想什么或者有什么替代方法?
感谢
您似乎混淆了PCRE正则表达式库和C++ 11标准的库。内置的C++ 11正则表达式仅适用于更新的编译器。 PCRE不是C++标准的一部分,因此您需要单独添加PCRE库。 – Galik 2015-02-09 20:09:17