Я пытаюсь написать регулярное выражение, которое распознает пробелы из строки ввода пользователя, кроме кавычек ("
... "
). Например, если пользователь вводит
#load "my folder/my files/ program.prog" ;
Я хочу, чтобы моя подстановка регулярных выражений превратила это в
#load "my folder/my files/ program.prog" ;
Пока что я реализовал следующее (вы можете запустить его здесь ).
#include <iostream>
#include <string>
#include <regex>
int main(){
// Variables for user input
std::string input_line;
std::string program;
// User prompt
std::cout << ">>> ";
std::getline(std::cin, input_line);
// Remove leading/trailing whitespaces
input_line = std::regex_replace(input_line, std::regex("^ +| +$|( ) +"), "$1");
// Check result
std::cout << input_line << std::endl;
return 0;
}
Но это также удаляет пробелы между кавычками. Можно ли как-нибудь использовать регулярные выражения, чтобы игнорировать пробелы между кавычками?