Ich erwarte nur den übereinstimmenden Teil einer Zeile zu erhalten. mein Ausdruck wie folgt aussieht:Regex passt nur Teil in Übereinstimmungen
std::wstring strPatternDat = L"DECL\\s+E6POS\\s+X[A-Za-z0-9]+=\\{X\\s-?[1-9]\\d*(\\.\\d+)+,Y\\s-?-?[1-9]\\d*(\\.\\d+)+,Z\\s-?-?[1-9]\\d*(\\.\\d+)+,A\\s-?-?[1-9]\\d*(\\.\\d+)+,B\\s-?-?[1-9]\\d*(\\.\\d+)+,C\\s-?-?[1-9]\\d*(\\.\\d+)"
Linie Ich suche auf:
DECL E6POS XB1={X 152.115494,Y -1553.65002,Z 1255.94604,A 162.798798,B -3.58411908,C -176.614395,S 6,T 50,E1 -4949.979,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
Finding Spiel wie:
if (regex_match(line, matchesDat, expressionDat))
{
TRACE("Match found");
}
In den angepassten Daten matchesDat i voll abgestimmte Linie bin immer. Aber ich erwarte nur das angepasste Teil
Anfahrt:
DECL E6POS XB1={X 152.115494,Y -1553.65002,Z 1255.94604,A 162.798798,B -3.58411908,C -176.614395,S 6,T 50,E1 -4949.979,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
Erwartet:
DECL E6POS XB1={X 152.115494,Y -1553.65002,Z 1255.94604,A 162.798798,B -3.58411908,C -176.614395,
Wie kann ich nur angepasst Teil erhalten nicht die volle Linie?
Verwenden Sie regex_search. –