Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
28 / 29 / 3
Регистрация: 26.07.2010
Сообщений: 297
1

Не работает регулярное выражение

04.05.2013, 13:13. Просмотров 568. Ответов 1
Метки нет (Все метки)

Здравствуйте, есть метод с регулярным выражением:
C++
1
2
3
4
5
bool Library::ValidGenreCode(std::string genreCode) {
    const std::string genreCodeExp = "^([0-9]{1,3}(\.[0-9]{1,3}){0,2})";
    std::regex genre(genreCodeExp);
    return std::regex_match(genreCode, genre);
}
Он должен отлавливать такие строки, как
(от 1 до 3 цифр)
(от 1 до 3 цифр).(от 1 до 3 цифр)
(от 1 до 3 цифр).(от 1 до 3 цифр).(от 1 до 3 цифр)

Но почему-то на строку 1234 он возвращает true. Не подскажете, в чём ошибка?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2013, 13:13
Ответы с готовыми решениями:

Регулярное выражение
Здравствуйте. Кто знает, возмжно ли в регулярное выражение передать символ char, а не строку...

Регулярное выражение
Пишу под Qt и получил такую проблему. Почему данный код не выводит чего либо в консоль?: ...

Регулярное выражение
Добрый день! Помогите расшифровать регулярное выражение, что оно ищет. (;.*|.*|)+

Регулярное выражение
Дана последовательность (-1.2+3.0)+2-8/6. Надо разбить строку на символы и числа. Как нужно...

1
1450 / 787 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
04.05.2013, 13:39 2
C++
1
"^\\d{1,3}(\\.\\d{1,3})?(\\.\\d{1,3})?"
Добавлено через 2 минуты
Или, даже так:
C++
1
"^\\d{1,3}(\\.\\d{1,3}){0,2}"
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2013, 13:39

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Регулярное выражение
Имеется следующее регулярное выражение для проверки email адреса. В данном случае меня интересует...

Регулярное выражение regex
TCHAR *s = (TCHAR*)"mov eax,dword"; regex r("mov eax,dword{4,}]"); if (regex_match(s, r)) {...

Регулярное выражение regrex
Все $ поменять на Yes только через regrex И объяснить как создавать их самостоятельно Только...

Составить регулярное выражение
Нужно составить регулярку: проверить является ли строка индентификатором в C++ длиной не более 33...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.