Форум — Development Регулярные выражения, стандартная библиотека C++ gcc 4.9 c++, gcc 0 5 Как там оно, заработало, наконец? Ссылка
#include <iostream> #include <regex> using namespace std; int main() { string str = "Hello world!"; regex rx("world"); string replacement = "std::regex"; string str2 = regex_replace(str, rx, replacement); cout << str2 << endl; }Starting: /home/valentine/projects/test2/build/test2 Hello std::regex! *** Exited normally *** Pavval ★★★★★ (24.04.14 01:23:50 MSK) Показать ответы Ссылка
Ответ на: комментарий от Pavval 24.04.14 01:23:50 MSK А как у него с юникодом? Gorthauer ★★★★★ (24.04.14 01:39:46 MSK) Показать ответ Ссылка
Ответ на: комментарий от Gorthauer 24.04.14 01:39:46 MSK #include <iostream> #include <regex> using namespace std; int main() { wstring str = L"Hello world!"; basic_regex<wchar_t> rx(L"world"); wstring replacement = L"std::regex"; wstring str2 = regex_replace(str, rx, replacement); wcout << str2 << endl; } Pavval ★★★★★ (24.04.14 01:47:38 MSK) Показать ответы Ссылка
Ответ на: комментарий от Pavval 24.04.14 01:47:38 MSK А для C что-нить такое есть? Заменить бы PCRE в прогах по типу lighttpd. menangen ★★★★★ (24.04.14 03:24:46 MSK) Показать ответы Ссылка
Ответ на: комментарий от Pavval 24.04.14 01:23:50 MSK #include <iostream> #include <regex> using namespace std; int main() { string str = "Hello world!"; regex rx("Hel{2}.*"); if(regex_match(str, rx)) cout << str << endl; } а так? next_time ★★★★★ (24.04.14 08:19:57 MSK) автор топика Ссылка
Ответ на: комментарий от Pavval 24.04.14 01:47:38 MSK А если нормальный utf8 хочу? Gorthauer ★★★★★ (24.04.14 10:17:53 MSK) Показать ответ Ссылка
Ответ на: комментарий от Gorthauer 24.04.14 10:17:53 MSK ~$ cat 1.cpp #include <iostream> #include <regex> using namespace std; int main() { string str = u8"Привет мир!"; regex rx( "мир" ); string replacement = u8"ЛОР"; string str2 = regex_replace(str, rx, replacement); cout << str2 << endl; } ~$ clang++ -stdlib=libc++ -std=c++11 1.cpp ~$ ./a.out Привет ЛОР! wota ★★ (24.04.14 10:23:26 MSK) Показать ответ Ссылка
Ответ на: комментарий от wota 24.04.14 10:23:26 MSK Круто, но это clang и libc++, а в треде спрашивали про gcc 4.9 и (имхо) libstdc++ Stil ★★★★★ (24.04.14 12:22:45 MSK) Показать ответ Ссылка
Ответ на: комментарий от Stil 24.04.14 12:22:45 MSK Круто, но это clang и libc++, а в треде спрашивали про gcc 4.9 и (имхо) libstdc++дык аналогично же, просто у меня gcc 4.8 - потому и собрал пример clang wota ★★ (24.04.14 12:31:03 MSK) Ссылка
Ответ на: комментарий от menangen 24.04.14 03:24:46 MSK Я вам чо, вместо гугла припрягся? Pavval ★★★★★ (24.04.14 14:12:17 MSK) Ссылка
Ответ на: комментарий от Pavval 24.04.14 01:47:38 MSK это не юникод, а multibyte-string, внутреннее представление которого зависит от компилятора. Reset ★★★★★ (24.04.14 14:28:44 MSK) Показать ответ Ссылка
Ответ на: комментарий от Reset 24.04.14 14:28:44 MSK Да, кэп. Pavval ★★★★★ (24.04.14 14:30:36 MSK) Ссылка
Ответ на: комментарий от menangen 24.04.14 03:24:46 MSK http://slre.sourceforge.net/ anonymous (24.04.14 14:44:33 MSK) Ссылка
Ответ на: комментарий от Pavval 24.04.14 01:23:50 MSK используемый пример отлично компилится и в версии 4.7, вот только когда начинаешь писать что-то более сложное, например Регулярные выражения, стандартная библиотека C++ gcc 4.9 (комментарий)ключевой момент в l{2} получается фэйл next_time ★★★★★ (25.04.14 19:38:14 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от next_time 25.04.14 19:38:14 MSK используемый пример отлично компилится и в версии 4.7...Только не работает, ага. Потому что там заглушки (в 4.8.2 наткнулся). Pavval ★★★★★ (28.04.14 01:22:02 MSK) Показать ответ Ссылка
Ответ на: комментарий от Pavval 28.04.14 01:22:02 MSK а ясно, спасибо next_time ★★★★★ (28.04.14 20:37:24 MSK) автор топика Ссылка