Hallo,
hier noch was ich nicht versehe.
Ich Suche in einem Text nach 3 Elementen.
Der Text setzt sich aus einem Schlüssel, einem Wert und einem Zahlenwert innerhalb einer Klammer zusammen.
Bsp.: VarType = "String (30)"
Jetzt habe ich bereits einen RegEx Ausdruck gebildet.
Das funktioniert auch bestens. Ich erhalte alle Werte zurück die ich brauche.
Nur eines geht nicht.
Innerhalb der Klammer kann ich die Anzahl der Ziffern nicht auf 0 zulassen. VarType = "String ()" oder VarType = "String ( )"
Dafür ist doch die Eingabe in der geschweiften Klammer zuständig:
Folgendes geht nicht:
Geht das überhaupt mit diesem Aufbau des RegEx Ausdrucks?
Vielen Dank im Voraus.
Gruß CopWorker
hier noch was ich nicht versehe.
Ich Suche in einem Text nach 3 Elementen.
Der Text setzt sich aus einem Schlüssel, einem Wert und einem Zahlenwert innerhalb einer Klammer zusammen.
Bsp.: VarType = "String (30)"
C#:
string strText = "VarType = \"String ( 30 )\"";
C#:
Match mTemp = Match.Empty;
mTemp = Regex.Match(strText, @"(?'Key'\w+)\s*[=]\s*(?<delimiter>[""'])(?'Value'\w+)\s*\(\s*(?'Zahl'[\d]{1,3})\s*\)(?<delimiter>)");
if (mTemp.Success && mTemp.Groups["Key"].Success && mTemp.Success && mTemp.Groups["Value"].Success)
{
//Variablentyp aus Typenliste ermitteln
strKey = mTemp.Groups["Key"].Value;
strValue = mTemp.Groups["Value"].Value;
strNumber = mTemp.Groups["Zahl"].Value;
}
Nur eines geht nicht.
Innerhalb der Klammer kann ich die Anzahl der Ziffern nicht auf 0 zulassen. VarType = "String ()" oder VarType = "String ( )"
Dafür ist doch die Eingabe in der geschweiften Klammer zuständig:
C#:
(?'Zahl'[\d]{1,3})\s*\)
C#:
(?'Zahl'[\d]{0,3})\s*\)
Geht das überhaupt mit diesem Aufbau des RegEx Ausdrucks?
Vielen Dank im Voraus.
Gruß CopWorker