我正在使用boost库来解析文件。众所周知,当您在正则表达式中使用括号时,它表示一个子表达式。如果我的文件包含括号,我该如何声明正则表达式呢?我尝试使用\(但没有成功。有人可以告诉我如何为以下格式的文件声明正则表达式吗? a:(1) b:(2) 当文件内容为以下格式时,我可以执行解析操作: a:1 b:2 通过声明正则表达式为 boost::regex e("([a-z]):([0-9])");,您能告诉我如何匹配值在括号中的情况吗?
如果你想使用括号,你需要用反斜杠进行转义。问题在于你还需要转义那个反斜杠(对于C++编译器而言)。例子:std::string regexstring = "\\([a-z]\\):\\([0-9]\\)";
C4129:'(':无法识别的字符转义序列
。 - Kevin Boos