9 / 9 / 1
Регистрация: 03.04.2016
Сообщений: 474
1

Сравнение строк как регулярные выражения

07.07.2016, 21:32. Показов 3925. Ответов 6
Метки нет (Все метки)

Подскажите с виду такая простая задача. Сравнить к примеру строку "temp_" со строкой "Systemtemp_sis", если в ней присутствует "temp_", то вывести на экран.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2016, 21:32
Ответы с готовыми решениями:

Регулярные выражения C++. Как получить текст между заданных символов ?
Как получить в переменную wmatch то, что находится между " one two end " и "." (в данном случае...

Как заставить работать регулярные выражения под VS2012 с тулсетом VS2005?
Помогите пожалуйста разобраться, плачу картохой. Имеем слово: "проверка" Имеем пример текста:...

Как происходит сравнение строк?
подскажите пожалуйста, как сравниваются строки в плюсах? что там при этом происходит? сравниваются...

Как реализовать сравнение строк?
Здравствуйте, проблема в том, что я не знаю как сравнить строки в своей программе. Сейчас она...

6
90 / 22 / 35
Регистрация: 29.06.2016
Сообщений: 96
07.07.2016, 21:39 2
Цитата Сообщение от zombivadim Посмотреть сообщение
Сравнить к примеру строку "temp_" со строкой "Systemtemp_sis", если в ней присутствует "temp_", то вывести на экран.
C++
1
2
3
4
5
6
7
8
9
#include <regex>
 
// ...
 
std::string source = "Systemtemp_sis";
if (std::regex_match(source, std::regex(".*temp_.*")))
{
    std::cout << source << std::endl;
}
https://regex101.com/r/sD3eU9/1
1
9 / 9 / 1
Регистрация: 03.04.2016
Сообщений: 474
07.07.2016, 22:10  [ТС] 3
Спасибо большое!! А подскажите набор выражений возможен? К примеру либо "temp_" либо "_temp" ?
0
90 / 22 / 35
Регистрация: 29.06.2016
Сообщений: 96
07.07.2016, 22:51 4
Лучший ответ Сообщение было отмечено zombivadim как решение

Решение

Цитата Сообщение от zombivadim Посмотреть сообщение
Спасибо большое!! А подскажите набор выражений возможен? К примеру либо "temp_" либо "_temp" ?
https://regex101.com/r/sD3eU9/2
0
9 / 9 / 1
Регистрация: 03.04.2016
Сообщений: 474
07.07.2016, 23:29  [ТС] 5
Я извиняюсь за свое полное не знание, как мне провести поиск без учета регистра? Вот нашел Чтобы указать, что регулярное выражение не чувствительно к регистру, добавьте флаг std::tr1::regex_constants::ica se как второй аргумент как это применить то?
0
90 / 22 / 35
Регистрация: 29.06.2016
Сообщений: 96
07.07.2016, 23:44 6
Лучший ответ Сообщение было отмечено zombivadim как решение

Решение

Цитата Сообщение от zombivadim Посмотреть сообщение
как мне провести поиск без учета регистра? Вот нашел Чтобы указать, что регулярное выражение не чувствительно к регистру, добавьте флаг std::tr1::regex_constants::ica se как второй аргумент как это применить то?
C++
1
2
3
4
5
std::string source = "SystemTemp_sis";
if (std::regex_match(source, std::regex(".*(temp_|_temp).*", std::tr1::regex_constants::icase)))
{
    std::cout << source << endl;
}
1
9 / 9 / 1
Регистрация: 03.04.2016
Сообщений: 474
08.07.2016, 00:05  [ТС] 7
Спасибо!!! Буду разбираться очень мощная штука. Случайно не знаете литературу где можно ознакомиться?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.07.2016, 00:05
Помогаю со студенческими работами здесь

Как произвести сравнение строк?
Дан текст, в котором есть букви и пропуски. Если в нем нету слова “весна”, то оставить его без...

Как реализовать сравнение строк с русскими символами
Дело обстоит так: Нужно сравнить на сходство русские слова. Пробовал strcmp - но она что-то...

Регулярные выражения
Помогите написать регулярку. Пишу на RE2. Если в тексте встречается ******.moikrug.ru то нужно...

Регулярные выражения с++11
Просветите, пожалуйста, как из следующей строки &quot;123&lt;tag&gt;456&lt;/tag&gt;789&lt;tag&gt;987&lt;/tag&gt;654321&quot; с...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru