Соответствие регулярным выражениям - PullRequest
0 голосов
/ 17 января 2011

У меня есть одна функция для проверки, является ли введенная строка "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 ]

2 голосов
/ 17 января 2011

Возможно, синтаксис в порядке, но зависит от реализации.Проверьте это сообщение .

или это :

После дальнейшего исследования я (мы) определили, что структура TR1, предоставленнаяMicrosoft с Visual Studio 2008 [и некоторыми очень ранними версиями Visual Studio 2010] содержит ошибки, что заставляет меня задуматься, почему другие регулярные выражения, поставляемые Dinkumware, не содержат ошибок.Или они?

0 голосов
/ 17 января 2011

Я бы подумал, что должно совпадать.

Возможно ли наличие ошибки в реализации библиотеки tr1? Возможно, его путают с «-», который используется в качестве спецификатора диапазона.

...