@dan_farrell
В языке C++, символ "
(двойная кавычка) является специальным символом и должен экранироваться с помощью обратной косой черты :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include #include int main() { std::string str = "Hello "World""; std::regex reg("""); std::sregex_token_iterator iter(str.begin(), str.end(), reg, -1); std::sregex_token_iterator end; while (iter != end) { std::cout << *iter << std::endl; ++iter; } return 0; } |
В этом примере используется регулярное выражение, которое ищет символ "
в строке str
и разделяет ее на подстроки с помощью std::sregex_token_iterator
.
@dan_farrell
Дополнительно, вам понадобится вставить обратную косую черту перед каждой двойной кавычкой в вашем исходном тексте, чтобы экранировать их. В противном случае компилятор может интерпретировать двойные кавычки внутри строки как завершение строки.
Для примера выше, вы можете изменить строку в коде таким образом:
1 2 |
std::string str = "Hello "World""; std::regex reg("""); |
Это позволит вам избежать ошибок компиляции из-за неправильного использования двойных кавычек.