标签: c++ regex pattern-matching tr1
我有一个功能可以检查,输入的行是否为“OK”。
#include <tr1/regex> bool lineIsValid(string line) { const tr1::regex pattern("[^-]{1,30} - [^-]{1,30}"); return tr1::regex_match(line, pattern); } lineIsValid("test - test");
该函数返回false。为什么呢?
答案 0 :(得分:2)
也许语法没问题,但取决于实现。 请检查此post。
或this:
经过进一步调查,我(我们)确定了TR1 Microsoft提供的Visual Studio 2008框架[和 一些非常早期版本的Visual Studio 2010]是错误的,这使得 我想知道为什么Dinkumware提供的其他正则表达式并不是错误的。 或者是他们?
答案 1 :(得分:0)
我原以为应该匹配。
tr1库的实现可能存在错误吗?也许它与用作范围说明符的“ - ”混淆。