我需要检查一个字符串是否与某个模式匹配。模板如下所示:
#include "любой-текст"
为此,我编写了以下代码:
string line = "#include \"../lights/lights.ps\"";
cmatch result;
regex reg("(\\s*)(#include)(\\s+)(\")([\\w-]+)(\")(\\s*)");
if (!regex_match(line.c_str(), result, reg))
{
// no
}
但是,regex_match 返回 false。我的错误是什么?我在这里测试了正则表达式并且它有效。我怀疑问题出在我为 cpp 构造不正确的正则表达式语法中......提前致谢。
您自己编写一个示例字符串
string line = "#include \"../lights/lights.ps\"
;有些字符不包含在\w-
. 你至少应该扩展它。演示