Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
InferernumDeus
7 / 7 / 0
Регистрация: 13.08.2012
Сообщений: 250
#1

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

31.10.2014, 14:21. Просмотров 751. Ответов 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");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2014, 14:21
Ответы с готовыми решениями:

C++ std::regex каким образом можно вывести все совпадения?
Работаю в Visual Studio 2012. Каким образом я могу получить значения всех...

Ошибка: E2034 Cannot convert 'int' to 'std::vector<std::vector<TRabbitCell,std::allocator<TRabbitCell>>...
Есть двухмерный вектор: std::vector&lt;std::vector&lt;TRabbitCell&gt; &gt; *cells(5,...

Ищу справочные материалы по стандартной библиотеке
Всем привет, можете пожалуйста подсказать какие есть функции в с++ , которые...

std::regex и boost::regex
Что-то я не пойму что реализация их различна ? #include &lt;iostream&gt; #include...

Std::regex не работает
Здравствуйте, имеется регекс для следущего паттерна: &quot;слово пробел слово...

2
S_el
2138 / 1668 / 353
Регистрация: 15.12.2013
Сообщений: 6,625
31.10.2014, 14:50 #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;
}
1
InferernumDeus
7 / 7 / 0
Регистрация: 13.08.2012
Сообщений: 250
05.11.2014, 13:52  [ТС] #3
Превосходно!
Именно это я и искал - элементарный пример работы с РВ.
Большое спасибо.
Почитаю Гойвертса.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2014, 13:52

Ошибка составления std::regex в C++11
Есть вот такой пример кода: #include &lt;iostream&gt; #include &lt;string&gt; #include...

Есть ли инструкция по использованию std::regex
Есть какой-то мануальчик по использованию сего чуда в c++11? Ну или...

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


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

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

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