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

Boost C++

Войти
Регистрация
Восстановить пароль
 
admsasha
19 / 19 / 4
Регистрация: 11.06.2011
Сообщений: 271
#1

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

07.12.2017, 08:06. Просмотров 316. Ответов 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++):

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

не верный результат регулярки - PHP
&lt;?PHP $page = file_get_contents(&quot;http://www.heroeswm.ru/clan_info.php?id=5390&quot;); $page = iconv(&quot;windows-1251&quot;, &quot;UTF-8&quot;,...

результат не верный при решении задачи - C++
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #include &lt;stdio.h&gt; #include...

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

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

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

7
Peoples
1186 / 691 / 434
Регистрация: 06.02.2016
Сообщений: 1,818
Записей в блоге: 14
Завершенные тесты: 4
07.12.2017, 14:00 #2
А что хотите получить?
0
admsasha
19 / 19 / 4
Регистрация: 11.06.2011
Сообщений: 271
07.12.2017, 14:02  [ТС] #3
Peoples,
Хотел
folder: [rarent222111]
0
GbaLog-
Любитель чаепитий
3078 / 1417 / 342
Регистрация: 24.08.2014
Сообщений: 5,040
Записей в блоге: 1
Завершенные тесты: 2
08.12.2017, 06:43 #4
с std::regex всё работает корректно.
либо что-то вы неправильно делаете, либо можно заявлять проблему в boost.regex.
ну, либо в std::regex.
http://rextester.com/UZN61819
0
admsasha
19 / 19 / 4
Регистрация: 11.06.2011
Сообщений: 271
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
624 / 339 / 43
Регистрация: 21.07.2015
Сообщений: 995
13.12.2017, 21:38 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от admsasha Посмотреть сообщение
почему на выводе получаю ?
А что угодно можешь получить, у тебя what ссылается на разрушенный string.
C++
1
2
const std::sting& text = getText();
boost::regex_match(text, what, boost::regex("^(/i/)(.*?)(/)(.*)"));
1
admsasha
19 / 19 / 4
Регистрация: 11.06.2011
Сообщений: 271
14.12.2017, 04:04  [ТС] #7
shmkv, what - это не копии, а ссылка на строку ?
0
shmkv
624 / 339 / 43
Регистрация: 21.07.2015
Сообщений: 995
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
Привет! Вот еще темы с ответами:

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

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

Не выводит результат - C++
Не понимаю почему, но нет вывода результата работы программы. #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int...

Не выводит результат - C++ Builder
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #pragma hdrstop #include...


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

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

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