c++ – How would I use regex to ignore multiple parenthesis inside a string?
Since I try to avoid Regex when possible, here is an example of using substr
:
std::size_t endPos = str.find("),"); //gets the end of the inner parentheses
std::string sub = str.substr(8, endPos - 8); //substrings to pull inner string out
I don’t know how you are reading these strings in, but here is a full example to just dump out the provided samples:
#include <iostream>
#include <vector>
int main()
{
std::vector<std::string> vs;
std::string s1 = "INSERT((AIRBUS,A340,295,137), PlaneType)";
std::string s2 = "INSERT((1050,Meal,N), Flight)";
std::string s3 = "INSERT((1050,10/5/2021,1/1/2021,19:20,1/1/2002,20:40,8.0), FlightLegInstance)";
std::string s4 = "INSERT((SEA,Seattle,WA), AirPort)";
vs.push_back(s1);
vs.push_back(s2);
vs.push_back(s3);
vs.push_back(s4);
for (int i = 0; i < vs.size(); i++) {
std::size_t endPos = vs[i].find("),");
std::string sub = vs[i].substr(8, endPos - 8);
std::cout << sub << std::endl;
}
}
Read more here: Source link