Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dev.nikor
25 / 26 / 1
Регистрация: 26.07.2010
Сообщений: 297
#1

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

04.05.2013, 13:13. Просмотров 322. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2013, 13:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает регулярное выражение (C++):

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

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

Регулярное выражение - C++
Пишу под Qt и получил такую проблему. Почему данный код не выводит чего либо в консоль?: QString data("<div class=\"text\">xxx:<br>ну...

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

Составить регулярное выражение - C++
Здравствуйте, помогите пожалуйста составить регулярное выражение для поиска фамилии и инициалов, например: Иванов И. И. Всё, что я смог...

Регулярное выражение boost::regex - C++
Здравствуйте форумчане. Не получается написать регулярное выражения для разбора такой строки: g=p1#s=p1,p2#t=p1 g, s, t - имена...

1
DiffEreD
1431 / 768 / 95
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2013, 13:39
Привет! Вот еще темы с ответами:

Вырезать символ из строки, регулярное выражение - C++
Подскажите пожалуйста как из строки std::string s = "string\.txt"; вырезать сиивол "\"

Регулярное выражение для выбора email - C++
написать программу, используя регулярное выражения, которая с текста выбирает и выводит только электронные адреса. объясните пожалуйста...

Как правильно задать регулярное выражение? - C++
Hello world! Строка из которой нужно сделать выборку подстрок которые удовлетворяют определенному паттрену. Как описать такое...

Составить регулярное выражение под приведенные требования - C++
Может ли кто-нибудь написать или подсказать, как пишется регулярное выражение для следующих условий: 1) Русские буквы с различением...


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

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

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