Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2018, 20:36   #1
VladimirVB
Форумчанин
 
Аватар для VladimirVB
 
Регистрация: 12.10.2008
Сообщений: 131
Стрелка Регулярные выражения

Код:
#include <iostream>
#include <regex>
#include <string>
using namespace std;

int main()
{
	regex exp("[+-*]");
	smatch res;
	string str = "+b-b*";

	while (regex_search(str, res, exp)) {
		cout << res[0] << endl;
		str = res.suffix();
	}

	return 0;
}
Как только добавляю знак умножения в квадратные скобки происходит сбой в работе программы. А мне надо найти знак плюс, минус и умножения. Использую VS 2017.
VladimirVB вне форума Ответить с цитированием
Старый 11.10.2018, 21:31   #2
VladimirVB
Форумчанин
 
Аватар для VladimirVB
 
Регистрация: 12.10.2008
Сообщений: 131
По умолчанию

Код:
regex exp("[*+-]");
Код сработал, как только знак умножения поставил первым внутри квадратных скобок. Странно как то.
VladimirVB вне форума Ответить с цитированием
Старый 12.10.2018, 07:29   #3
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Цитата:
Сообщение от VladimirVB Посмотреть сообщение
Код сработал, как только знак умножения поставил первым внутри квадратных скобок. Странно как то.
Может это из-за приоритета операций?
KAMLS вне форума Ответить с цитированием
Старый 14.10.2018, 00:36   #4
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

В регулярных выражениях * означает от нуля до бесконечности символов. + — от одного до бесконечности.
Если твоя цель — сматчить арифметические знаки, регекс у тебя должен быть такой:
Код:
"[\+-\*]"
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярные выражения UKRtortik Общие вопросы Delphi 9 11.06.2014 12:24
Регулярные выражения UKRtortik PHP 14 10.06.2014 18:51
Регулярные выражения Anton PHP 1 06.12.2012 11:18
Регулярные выражения в F# Лёличка Общие вопросы .NET 1 18.01.2012 20:15
Регулярные выражения Abuhamed PHP 3 12.01.2012 10:26