Форум программистов, компьютерный форум, киберфорум
Наши страницы
Boost C++
Войти
Регистрация
Восстановить пароль
 
admsasha
21 / 21 / 6
Регистрация: 11.06.2011
Сообщений: 286
#1

Boost_regex выводит не верный результат - Boost C++

07.12.2017, 08:06. Просмотров 418. Ответов 7
Метки нет (Все метки)

Вот простой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
std::string getText(){
    return "/i/rarent222111/";
}
 
int main(int argc, char **argv){
    std::string folder="";
 
    boost::smatch what;
    if (boost::regex_match(getText(), what, boost::regex("^(/i/)(.*?)(/)(.*)"))){
        folder=what[2];
    }
 
    std::cout << "folder: [" << folder << "]" << std::endl;
 
    return 0;
}
почему на выводе получаю ?
Код
folder: [arent222111]
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2017, 08:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Boost_regex выводит не верный результат (Boost C++):

Не верный результат в условиях
Здравствуйте. Подскажите пожалуйста как поправить мой кривой код, чтобы...

не верный результат регулярки
&lt;?PHP $page =...

результат не верный при решении задачи
//--------------------------------------------------------------------------- ...

Не верный результат при выводе (многопоточность)
Уважаемые! Помогите разобраться, что делаю не так? Задача: Вывести 1 - 2 -...

Не верный результат при обработке одномерного массива
Написать программу по обработке одномерных массивов. Размеры массивов вводить с...

Если не сложно подкорректиировать, чтобы верный результат выдавался
CLS PRINT TAB(10); e = .0001 FOR x = .2 TO 1 STEP .1 n = 1 s = 0 kol = 1...

7
Peoples
1270 / 775 / 730
Регистрация: 06.02.2016
Сообщений: 2,085
Записей в блоге: 15
Завершенные тесты: 4
07.12.2017, 14:00 #2
А что хотите получить?
0
admsasha
21 / 21 / 6
Регистрация: 11.06.2011
Сообщений: 286
07.12.2017, 14:02  [ТС] #3
Peoples,
Хотел
folder: [rarent222111]
0
GbaLog-
Любитель чаепитий
3156 / 1462 / 462
Регистрация: 24.08.2014
Сообщений: 5,180
Записей в блоге: 1
Завершенные тесты: 2
08.12.2017, 06:43 #4
с std::regex всё работает корректно.
либо что-то вы неправильно делаете, либо можно заявлять проблему в boost.regex.
ну, либо в std::regex.
http://rextester.com/UZN61819
0
admsasha
21 / 21 / 6
Регистрация: 11.06.2011
Сообщений: 286
08.12.2017, 14:04  [ТС] #5
Цитата Сообщение от GbaLog- Посмотреть сообщение
либо что-то вы неправильно делаете,
Я привел весь код. Разве что кроме заголовков.

gcc version 6.3.0 20170516 (Raspbian 6.3.0-18+rpi1)
libboost-regex1.62.0
0
shmkv
652 / 371 / 57
Регистрация: 21.07.2015
Сообщений: 1,059
13.12.2017, 21:38 #6
Лучший ответ Сообщение было отмечено admsasha как решение

Решение

Цитата Сообщение от admsasha Посмотреть сообщение
почему на выводе получаю ?
А что угодно можешь получить, у тебя what ссылается на разрушенный string.
C++
1
2
const std::sting& text = getText();
boost::regex_match(text, what, boost::regex("^(/i/)(.*?)(/)(.*)"));
1
admsasha
21 / 21 / 6
Регистрация: 11.06.2011
Сообщений: 286
14.12.2017, 04:04  [ТС] #7
shmkv, what - это не копии, а ссылка на строку ?
0
shmkv
652 / 371 / 57
Регистрация: 21.07.2015
Сообщений: 1,059
14.12.2017, 12:58 #8
Цитата Сообщение от admsasha Посмотреть сообщение
shmkv, what - это не копии, а ссылка на строку ?
да.
1
14.12.2017, 12:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2017, 12:58
Привет! Вот еще темы с решениями:

Компилятор при делении больших чисел выдает не верный результат
Здравствуйте. Я только осваиваю азы программирования на С++. Компилятор...

Код верный, но при запуске выводит ошибку, что не может найти поле Статус
Здравствуйте, я программировала базу данных через библиотеку связи ADO связала...

Скрипт не выводит результат при исполнении в терминале, построчно результат есть. Новичок в bash
Добрый день всем. Помогите разобраться. Я новичок в написании скриптов. Первая...

Верный пароль учетной записи все время определяется как не верный
Пользовался вин 10 без пароля для учетной записи, а тут понадобилось пароль для...


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

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

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