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

C++

Войти
Регистрация
Восстановить пароль
 
InferernumDeus
7 / 7 / 1
Регистрация: 13.08.2012
Сообщений: 250
#1

Подскажите справочные материалы по регулярным выражениям std::regex - C++

31.10.2014, 14:21. Просмотров 644. Ответов 2
Метки нет (Все метки)

Помогите разобраться с синтаксисом регулярных выражений для std::regex.
Работаю в VS 2012.
Нашел некий список на сайте Microsoft, но что-то не получается применить выражения из него:
http://msdn.microsoft.com/ru-ru/library/az24scfc.aspx
Этот пример выдаёт 3 пустые строки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using namespace std;
#include "stdafx.h"
#include <regex>
#include <iostream>
 
typedef std::match_results<const char*> cmatch;
 
int main()
{
    std::cmatch res;
    std::string str = "14 5";
    std::regex rx("[]");
    regex_search(str.begin(), str.end(), rx);
    
    std::cout << res[1] << "\n";
    std::cout << res[2] << "\n";
    std::cout << res[3] << "\n";
    system ("pause");
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2014, 14:21     Подскажите справочные материалы по регулярным выражениям std::regex
Посмотрите здесь:
C++ std::regex и boost::regex
Std::regex не работает C++
C++ Ошибка составления std::regex в C++11
C++ Есть ли инструкция по использованию std::regex
C++ C++ std::regex каким образом можно вывести все совпадения?
Возможно ли найти расположение подстроки в строке через регулярное выражение std::regex? C++
C++ std::regex : баг на сайте или баг компилятора?
C++ std::regex - всегда выдает "NO!"
C++ Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream
STL std::set, std::pair, std::make_pair C++
C++ Подскажите, как CodeBlocks запустить с флагом -std=c++11
(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
31.10.2014, 14:50     Подскажите справочные материалы по регулярным выражениям std::regex #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
InferernumDeus, можете еще здесь посмотреть:
http://ru.cppreference.com/w/cpp/regex

Добавлено через 19 минут
Есть отличная книга по регуляркам:
Джеффри Фридл - Регулярные выражения
и еще можете посмотреть:
Гойвертс Я., Левитан С. Регулярные выражения. Сборник рецептов.
Я пока исправил ваш пример,для вывода всех чисел из строки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <regex>
 
int main ()
{
  std::string s ("14 5");
  std::smatch m;
  std::regex e ("\\d");   
  while (std::regex_search (s,m,e)) {
    for (auto x:m) std::cout << x << " ";
    std::cout << std::endl;
    s = m.suffix().str();
  }
 
  return 0;
}
InferernumDeus
7 / 7 / 1
Регистрация: 13.08.2012
Сообщений: 250
05.11.2014, 13:52  [ТС]     Подскажите справочные материалы по регулярным выражениям std::regex #3
Превосходно!
Именно это я и искал - элементарный пример работы с РВ.
Большое спасибо.
Почитаю Гойвертса.
Ответ Создать тему
Опции темы

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