Wertearray innerhalb eines Bereiches suchen

CopWorker

Erfahrenes Mitglied
Hallo zusammen,

etwas knifflige.

Bis jetzt suche ich nach einem 1 oder 2 - stelligen Dezimalwert der innerhalb runder Klammern stehen muss.
Die Klammer ist nachfolgend dem Test "ErrorCode".

Und das geht so:
Code:
mTemp = Regex.Match(tagdata.strDataName, @"(\s*ErrorCode\((?'code'[\d]{1,2})\)\s*)");
if (mTemp.Success && mTemp.Groups["code"].Success)
    int.TryParse(mTemp.Groups["code"].Value, out iCode);

Kann ich auch nach einem Wertearray suchen und anschließend konvertieren?
C#:
tagdata.strDataName = "ErrorCode(1,2,3,4,5,6)";
int[] liCode;
mTemp = Regex.Match(tagdata.strDataName, @"(\s*ErrorCode\((?'code'[\d]{?????})\)\s*)");
if (mTemp.Success && mTemp.Groups["code"].Success)
    int.TryParse(mTemp.Groups["code"].Value, out liCode);

Ich weiß nicht was ich an Stelle der ????? schreiben soll.
Oder geht das gar nicht?

Vielen Dank
Gruß CopWorker
 
Hallo Yaslaw,

funktioniert.
Dann steht da '+' dafür, dass Wiederholungen erlaubt sind?

Vielen Dank.
Gruß CopWorker
 
....oder man geht auf Yaslaw's regex101-Link...
da steht rechts genau, was passiert
+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
Wobei ich eher ein * anstatt nem + verwendet hätte
 
Hallo Zvoni,

auf dem Link war ich drauf: regex101-Link...
Da habe ich das ausprobiert.
Meine Aussage sollte mehr als Bestätigung lauten.
"Dann steht da '+' dafür, dass Wiederholungen erlaubt sind!"

Trotzdem vielen Dank für eure Hilfe.
Gruß CopWorker
 
[abc] : Irgend ein Zeichen aus der eckigen Klammer
+ : Mindestens einmal
* : Mehrmals oder keinmal
 
[abc] : Irgend ein Zeichen aus der eckigen Klammer
+ : Mindestens einmal
* : Mehrmals oder keinmal
Deshalb eher * als +
weil er kann ja auch sowas haben: ErrorCode(2) (Keine Wiederholung)

EDIT: Ich glaube ich hab auch ein Verständnis-Problem.... :)
Bei Regex fang ich immer an zu schielen....
 

Neue Beiträge

Zurück