Hallo zusammen,
ich steck mal wieder feste.
Folgenden String Inhalt verwende ich:
string strDataName = "AlmRfg(4)AlmGrp(27)AlmCode(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)IgnPos(0,11,12,13,14,15)InvPos(0)";
Ich kann die einzelnen Bereiche z.Bsp.: AlmCode(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16) bereits ausfiltern und die
Inhalte in der Klammer in ein Array splitten.
Alles kein Problem:
Bis jetzt bilde ich 4 Pattern weil ich es in einer Zeile nicht schaffe.
Meine Frage:
Kann ich die 4 Pattern in ein 1 Pattern zusammenfassen?
Mein Versuch ist gescheitert:
Was ist da falsch, bzw. geht so was überhaupt?
Vielen Dank.
Gruß CopWorker
ich steck mal wieder feste.
Folgenden String Inhalt verwende ich:
string strDataName = "AlmRfg(4)AlmGrp(27)AlmCode(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)IgnPos(0,11,12,13,14,15)InvPos(0)";
Ich kann die einzelnen Bereiche z.Bsp.: AlmCode(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16) bereits ausfiltern und die
Inhalte in der Klammer in ein Array splitten.
Alles kein Problem:
Bis jetzt bilde ich 4 Pattern weil ich es in einer Zeile nicht schaffe.
C#:
mTemp = Regex.Match(tagdata.strDataName, @"(\s*AlmGrp\((?'group'[\d,]+)\)\s*)");
if (mTemp.Success && mTemp.Groups["group"].Success)
liGroupTemp = mTemp.Groups["group"].Value?.Split(',')?.Select(Int32.Parse)?.ToArray();
mTemp = Regex.Match(tagdata.strDataName, @"(\s*AlmCode\((?'code'[\d,]+)\)\s*)");
if (mTemp.Success && mTemp.Groups["code"].Success)
liCodeTemp = mTemp.Groups["code"].Value?.Split(',')?.Select(Int32.Parse)?.ToArray();
mTemp = Regex.Match(tagdata.strDataName, @"(\s*IgnPos\((?'pos'[\d,]+)\)\s*)");
if (mTemp.Success && mTemp.Groups["pos"].Success)
liPosTemp = mTemp.Groups["pos"].Value?.Split(',')?.Select(Int32.Parse)?.ToArray();
mTemp = Regex.Match(tagdata.strDataName, @"(\s*InvPos\((?'inv'[\d,]+)\)\s*)");
if (mTemp.Success && mTemp.Groups["inv"].Success)
liInvTemp = mTemp.Groups["inv"].Value?.Split(',')?.Select(Int32.Parse)?.ToArray();
Meine Frage:
Kann ich die 4 Pattern in ein 1 Pattern zusammenfassen?
Mein Versuch ist gescheitert:
C#:
mTemp = Regex.Match(tagdata.strDataName, @"((\s*AlmGrp\((?'group'[\d,]+)\))(AlmCode\((?'code'[\d,]+)\))(IgnPos\((?'pos'[\d,]+)\))(InvPos\((?'inv'[\d,]+)\)\s*))");
Was ist da falsch, bzw. geht so was überhaupt?
Vielen Dank.
Gruß CopWorker