正则表达式匹配

时间:2011-01-17 18:37:09

标签: 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。为什么呢?

2 个答案:

答案 0 :(得分:2)

也许语法没问题,但取决于实现。 请检查此post

this

  

经过进一步调查,我(我们)确定了TR1    Microsoft提供的Visual Studio 2008框架[和   一些非常早期版本的Visual Studio 2010]是错误的,这使得   我想知道为什么Dinkumware提供的其他正则表达式并不是错误的。   或者是他们?

答案 1 :(得分:0)

我原以为应该匹配。

tr1库的实现可能存在错误吗?也许它与用作范围说明符的“ - ”混淆。