Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > pcrecpp |
Автор: box 8.4.2015, 00:06 | ||
всем привет! помогите разобрать строку на подстроки строка: 03/21/2015-16:02:33.468684 [Drop] [**] [1:2013057:3] ET WEB_SERVER Inbound PHP User-Agent [**] [Classification: Attempted Information Leak] [Priority: 2] {TCP} 67.22.140.100:40717 -> 10.10.50.100:80 надо взять все что между [**]...........[**] и так же вырезать 67.22.140.100:40717 -> 10.10.50.100:80 подскажите регулярку что бы ее можно было применить так:
|
Автор: rudolfninja 8.4.2015, 11:12 | ||
Я не уверен, но регулярка должна быть такой:
По крайней мере, https://regex101.com/#javascript выдает правильные результаты по такой регулярке и заданной строке. |
Автор: xvr 8.4.2015, 12:39 |
2 ТС: Не забудьте удвоить все '\' в исходной С++ строке. Обратный слэш имеет для самого С++ компилятора вполне особое значение, и в своем чистом виде в конечное содержимое строки не попадает |
Автор: kemiisto 8.4.2015, 13:52 |
Или https://solarianprogrammer.com/2011/10/16/cpp-11-raw-strings-literals-tutorial/. ![]() |
Автор: box 8.4.2015, 14:31 | ||||
не работает
и так тоже
не работает ни одна перл совместимая регулярка! что же оно хочет? |
Автор: rudolfninja 8.4.2015, 17:04 | ||
Попробуйте как посоветовал kemiisto. То есть так:
|
Автор: box 8.4.2015, 18:27 |
suric.cpp:333:18: error: invalid character '\' in raw string delimiter suric.cpp:333:1: error: stray ‘R’ in program |
Автор: box 8.4.2015, 18:49 | ||
вопрос решен:
всем спасибо) |