Простое многострочное регулярное выражение В C++
Привет
Я пытаюсь вернуть массив совпадений, используя этот код:
std::smatch sm; if (regex_search(content, sm, regex("[.+]"))) { for (int i = 1; i < static_cast<int>(sm.size()); i++) { cout << sm[i] << endl; } }
Строка для сопоставления поставляется в следующем формате:
[ name: bin1 type: static px: 14 py: 27 pz: 93 rx: 45 ry: 0 rz: 0 ] [ name: car1 type: static px: 14 py: 27 pz: 93 rx: 45 ry: 0 rz: 0 ]
Я попытался использовать регулярное выражение "/[.+]/s", чтобы разрешить многострочность, но компилятор продолжает жаловаться на то, что символы "[" и "/" не распознаются. Когда я дважды избегаю их, ошибка исчезает, но регулярное выражение ничего не возвращает.
С кодом, который у меня есть на данный момент, в консоли ничего не появляется.
Что я уже пробовал:
Все, что я мог придумать, так что теперь я здесь
PIEBALDconsult
Используйте обратную косую черту ( \ ), а не косую черту ( / ), чтобы избежать скобок.