Floyd
04.01.2007, 13:49
Hallo.. ich hoffe das einer von euch mir helfen kann.
Ich bin Anfänger in RegEx versuche jedoch ein konkretes Problem zu lösen:
Undzwar hab ich das Problem das ich ein LogFile parsen muss welches so aussieht: http://blog.freakfabrik.net/QuestHistory.txt
Unabhängig in welcher Gruppe der jeweilige Block steht versuche ich alle Blöcke in einer schleife durchzugehen. Jeder block zieht dabei im Grundsatz zum Beipsiel so aus:
[1] = {
["c"] = "Eisklammtal",
["t"] = "Zwergenausstatter",
["g"] = "Sten Stoutarm",
["la"] = 1,
["i"] = {
[2] = {
["t"] = "Interface\\Icons\\INV_Gauntlets_05",
["l"] = "|cffffffff|Hitem:6171:0:0:0:0:0:0:0|h[Handschuhe des Wolfsjägers]|h|r",
},
[1] = {
["t"] = "Interface\\Icons\\INV_Gauntlets_06",
["l"] = "|cffffffff|Hitem:719:0:0:0:0:0:0:0|h[Handschuhe des Hasenjägers]|h|r",
},
[3] = {
["t"] = "Interface\\Icons\\INV_Gauntlets_04",
["l"] = "|cffffffff|Hitem:2547:0:0:0:0:0:0:0|h[Handschuhe des Eberjägers]|h|r",
},
},
["os"] = {
[1] = {
["t"] = "Zähes Wolfsfleisch: 0/8",
},
},
["pa"] = "Dun Morogh:0.29939755797386:0.71268898248672",
["d"] = "Was haben wir denn hier? Ihr seht aus, als könntet Ihr was brauchen, was Euch die Hände warm hält, hm?\n\nIch sag Euch, was da helfen würde: ein paar schöne, warme Handschuhe. Und weil ich so ein netter Kerl bin, geb ich Euch doch gern so ein Paar. Unter einer Bedingung, versteht sich.\n\nIhr müsst mir etwas Wolfsfleisch besorgen. Ist doch 'n guter Handel, oder? Ihr bringt mir etwas Wolfsfleisch und ich sorge dafür, dass Ihr Euch keine Frostbeulen an den Fingern holt. Na, was sagt Ihr?",
["l"] = 1,
["o"] = "Sten Stoutarm hätte gern 8 Stücke zähes Wolfsfleisch.",
["ta"] = "00:00:01:31",
},
wobei nur 3 Sachen definitiv fest stehen.
1. Jeder Block beginnt mit [<<Zahl>>] = {
2. Jeder Block endet mit },
3. Jeder Block kann unter ["os"] oder ["i"] wieder mit unterblöcken beginnen auf die 1. und 2. zutrifft ... diese blöcken sollen jedoch ignoriert werden !!!!
Ich suche also einen RegEx ausdruck der es mir ermöglich x beliebige anzahlen an blöcken durchzugehen die wie oben aussehen. Wobei die reihenfolge der elemente im block sich ändern kann.
Für die die es interessiert ... Ich verwenden anschließend den RegEx-Ausdruck in der MatchCollectonsklasse des .Net 2.0 Frameworks.
Ich hoffe ihr könnt mir helfen.
Gruß Floyd
Ich bin Anfänger in RegEx versuche jedoch ein konkretes Problem zu lösen:
Undzwar hab ich das Problem das ich ein LogFile parsen muss welches so aussieht: http://blog.freakfabrik.net/QuestHistory.txt
Unabhängig in welcher Gruppe der jeweilige Block steht versuche ich alle Blöcke in einer schleife durchzugehen. Jeder block zieht dabei im Grundsatz zum Beipsiel so aus:
[1] = {
["c"] = "Eisklammtal",
["t"] = "Zwergenausstatter",
["g"] = "Sten Stoutarm",
["la"] = 1,
["i"] = {
[2] = {
["t"] = "Interface\\Icons\\INV_Gauntlets_05",
["l"] = "|cffffffff|Hitem:6171:0:0:0:0:0:0:0|h[Handschuhe des Wolfsjägers]|h|r",
},
[1] = {
["t"] = "Interface\\Icons\\INV_Gauntlets_06",
["l"] = "|cffffffff|Hitem:719:0:0:0:0:0:0:0|h[Handschuhe des Hasenjägers]|h|r",
},
[3] = {
["t"] = "Interface\\Icons\\INV_Gauntlets_04",
["l"] = "|cffffffff|Hitem:2547:0:0:0:0:0:0:0|h[Handschuhe des Eberjägers]|h|r",
},
},
["os"] = {
[1] = {
["t"] = "Zähes Wolfsfleisch: 0/8",
},
},
["pa"] = "Dun Morogh:0.29939755797386:0.71268898248672",
["d"] = "Was haben wir denn hier? Ihr seht aus, als könntet Ihr was brauchen, was Euch die Hände warm hält, hm?\n\nIch sag Euch, was da helfen würde: ein paar schöne, warme Handschuhe. Und weil ich so ein netter Kerl bin, geb ich Euch doch gern so ein Paar. Unter einer Bedingung, versteht sich.\n\nIhr müsst mir etwas Wolfsfleisch besorgen. Ist doch 'n guter Handel, oder? Ihr bringt mir etwas Wolfsfleisch und ich sorge dafür, dass Ihr Euch keine Frostbeulen an den Fingern holt. Na, was sagt Ihr?",
["l"] = 1,
["o"] = "Sten Stoutarm hätte gern 8 Stücke zähes Wolfsfleisch.",
["ta"] = "00:00:01:31",
},
wobei nur 3 Sachen definitiv fest stehen.
1. Jeder Block beginnt mit [<<Zahl>>] = {
2. Jeder Block endet mit },
3. Jeder Block kann unter ["os"] oder ["i"] wieder mit unterblöcken beginnen auf die 1. und 2. zutrifft ... diese blöcken sollen jedoch ignoriert werden !!!!
Ich suche also einen RegEx ausdruck der es mir ermöglich x beliebige anzahlen an blöcken durchzugehen die wie oben aussehen. Wobei die reihenfolge der elemente im block sich ändern kann.
Für die die es interessiert ... Ich verwenden anschließend den RegEx-Ausdruck in der MatchCollectonsklasse des .Net 2.0 Frameworks.
Ich hoffe ihr könnt mir helfen.
Gruß Floyd