С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 22.01.2016
Сообщений: 44
1

Запись без использования файлов и формулы для регулярных выражений

14.10.2019, 16:37. Показов 313. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго вечера!
При вводе в консоль определённого текста программа выдает ответ в виде текста, объявленного как "string s".

Ниже пример ответа, который выводится в консоль:
Файл 12/1.19
Длина-Данных: 112
label: 55847391
ИД: ss7283r`ie2

0; 0; 373123; # ; 0; 0
0; 0; 333141; # ; 0; 0
0; 0; 555839; ; 0; 0; ; 42; 1
0; 0; 337481; # -117213139; 158483911; ; 1; 1

Раньше я записывал в файл и читал его с помощью регулярных выражений:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
ifstream ifs("answer.txt");
    ofstream ofs("1.txt");
    if (!ifs || !ofs){
        cerr << "File open error ((" << endl;
        return 2;
    }
    regex rx_file("(Файл \"[0-9.]+)\"", regex_constants::icase);
    regex rx_length("(Длина-Данных: \"[0-9.]+)\"", regex_constants::icase);
    regex rx_label("(label: \"[0-9.]+)\"", regex_constants::icase);
    regex rx_ID("(ИД: \"[0-9.]+)\"", regex_constants::icase);
    
    smatch m;
    string s;
    
    while (ifs.good()) {
        getline(ifs, s);
        if(ifs.eof())
        break;
        if (regex_search(s, m, rx_file)) {
            ofs << m[1] << endl;
            continue;
        }
         if (regex_search(s, m, rx_length)) {
              ofs << m[1] << endl;
        }
         if (regex_search(s, m, rx_label)) {
             ofs << m[1] << endl;
        }
        if (regex_search(s, m, rx_ID)) {
              ofs << m[1] << endl;
 
            continue;
 
        }
    }
Теперь же мне необходимо сделать то же самое без использования файлов, записывая например в массив или что-то подобное, чтобы была возможность вызывать каждую строку по отдельности.
Также имеется проблема со считыванием таблицы значений, я не знаю как написать для нее формулу. Единственная зацепка для формулы - это пропуск строки перед ней. Кол-во строк в ней и длинна каждой бывают разные
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2019, 16:37
Ответы с готовыми решениями:

Различия использования регулярных выражений и генераторов парсеров в GCC и MSVC
Я слышал что G++ и MSVC используют lex и bison для построения дерева токенов и парсинга. А клэнг...

Как сохранить элементы в массив после валидаиции формулы регулярных выражений
У меня есть форма в которую вставляется текст который включает в себя адреса сайтов. У меня уже...

Без применения регулярных выражений
Нужна срочно помощь.Задание сделала,но преподователю не понравилось с формулировкой:-&quot;Этого не было...

Grep без регулярных выражений
пытаюсь написать аналог grep из Linux, имеется вот такой код: static void Main(string args) ...

0
14.10.2019, 16:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.10.2019, 16:37
Помогаю со студенческими работами здесь

Разборка URL. без регулярных выражений
Необходимо разобрать URL. Используя только строчные функции PHP, а также функции работы с...

XRENN - переименование файлов с использованием регулярных выражений
Автор: Smitis Специально для CyberForum - консольная утилита для переименования файлов с...

Вывести информацию в заданном формате без регулярных выражений
Задан vector&lt;string&gt; содержащий url. Например: std::vector&lt;std::string&gt; url; ...

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru