RegEX für Placemint, wo ist mein Fehler?

    • AGGROFORST
      AGGROFORST
      Bronze
      Dabei seit: 26.04.2008 Beiträge: 3.805
      Hallo

      ich versuche schon eine ganze Zeit mir individuelle RegEx für Placemint zu schreiben, aber irgendwie will das nicht klappen...

      Ich möchte das z.B. dieser Tisch:

      $8.00 NL Hold'em [180 Players, Turbo] - Blinds $50/$100 - Tournament 547869582 Table 10

      mit dieser RegEx erkannt wird:

      code:
      [$€][\d,.]+.*?\s(NL)\s(Hold'em)\s([180 Players, Turbo])\s-\s(Blinds)\s[$10/$20|$15/$30|$25/$50|$50/$100|$75/$150|$100/$200](\sAnte\s(\$|€)\d+)?\s-\sTournament\s\d+\sTable\s\d+(\s-\s1\son\s1\s-\s)?


      wird er aber nicht :evil:

      Woran könnte das liegen?
  • 9 Antworten
    • infecteeed
      infecteeed
      Bronze
      Dabei seit: 17.02.2007 Beiträge: 3.523
      Warum nicht im Thread von PLacemint?

      WAs willst du genau machen?
    • WoodyRiver
      WoodyRiver
      Bronze
      Dabei seit: 07.12.2009 Beiträge: 566
      hast dus mal mit den standard regex's probiert? ----> http://sourceforge.net/projects/placemint/files/Regular%20Expression%20Lists/ (poker rev 18 auswählen, dl, importieren über optionen)
    • backdoorgushot
      backdoorgushot
      Bronze
      Dabei seit: 27.10.2007 Beiträge: 2.811
      du hast in deinem RegEx mehere Fehler.

      Auf den ersten Blick fallen mir diese beiden auf:

      zb. "\" musst du verwenden um Funktionszeichen (zb. [,], $, (,) usw.) zu deaktivieren oder zu schützen
      [180 Players, Turbo] -> \[180 Players, Turbo\]

      zb. die eckigen Klammern sind nur für einzelne Zeichen nicht für Zeichenketten, stattdessen nimmst du normale Klammern und du musst $ mit einem "\" versehen
      [$10/$20|$15/$30] -> (\$10/\$20|\$15/\$30)








      Da nicht der gesamte Tablename ins RegEx passen muss, empfehle ich dir zum Rumprobieren erstmal nur den Anfang dafür zu erstellen.

      zb.

      [/$|/€][0-9]+.[0-9]+ NL Hold'em \[[0-9]+ Players, Turbo\]

      und dann baust du immer weiter. Für die Blindstufen würde ich btw. lieber [0-9]+ nehmen.







      Wenn du fertig bist und es funktioniert, kannst es hier ja mal posten.
    • AGGROFORST
      AGGROFORST
      Bronze
      Dabei seit: 26.04.2008 Beiträge: 3.805
      Original von backdoorgushot
      ...
      und dann baust du immer weiter. Für die Blindstufen würde ich btw. lieber [0-9]+ nehmen.

      ....
      Erst mal Super ich danke dir!

      Das oben gequotete würde dann ja für alle Blindstufen gelten und ich möchte nur bestimmte Blindlevel ansprechen.

      Nochmal zum Verständnis:

      Der Ausdruck (\$10/\$20|\$15/\$30) würde als "Treffer" gelten sowohl bei Blinds $10/$20 als auch bei $100/$200?

      Wenn das so ist müsste ich den Ausdruck dann so schreiben um nur 10/20 Blinds zu bekommen?

      \b(\$10/\$20|\$15/\$30)\b

      @Infecteed Ich möchte meine Tische je nach Blindlevel in verschiedene Slots bekommen.

      @ Woody ja die habe ich auch als "Basis" für meine Eigenkreation verwendet.


      EDIT: sollte es klappen werd ich die RegEx hier posten. Kann aber erst wieder morgen dran basteln, da hier auf der arbeit schlecht und heute Abend erst mal 5. Liga ins Gazi-Stadion auf der Waldau Spitzenreiter werden und dann im TV schauen wie wir Real zerstören :D
    • backdoorgushot
      backdoorgushot
      Bronze
      Dabei seit: 27.10.2007 Beiträge: 2.811
      Der Ausdruck (\$10/\$20|\$15/\$30) würde als "Treffer" gelten sowohl bei Blinds $10/$20 als auch bei $100/$200?


      nein


      btw. musst du wohl für dein Vorhaben je Blindstufe eine eigene Gruppe mit eigenem RegEx erstellen;)
    • Thorsten77
      Thorsten77
      Black
      Dabei seit: 28.05.2006 Beiträge: 12.896
      Das ganze sollte auf jeden fall mit einem RE funktionieren, sofern placemint nicht nur ein subset von regulären ausdrücken unterstützt.

      Ich würde Dir raten einfach mit kleinen Teilen anzufangen, RE ausprobieren und dann sukzessive den RE verfeinern. Je nachdem welche Syntax die REs in Placemint haben kannst du das ganze auch in einer Programmiersprache austesten (geht i.d.r. viel schneller als "am Tisch" ausprobieren) oder auf Seiten wie dieser: http://regexp-tester.mediacix.de/exp/regex/
    • AGGROFORST
      AGGROFORST
      Bronze
      Dabei seit: 26.04.2008 Beiträge: 3.805
      Danke nochmal an alle fürs helfen!

      So funktioniert es:

      [$€][\d,.]+(\+R)?\s((NL|NLHE|PL|(No\s|Pot\s)?Limit)\s)?( Hold'em(\sMixed)?|Omaha(\sH/L)?( \sMixed)?|Stud(\sH/L)?|Razz|5-(C|c)ard\sDraw|Badugi|HOR?SE|8-Game|Triple\sDraw\s2-7\sLowball)?\s?( (\[180\sPlayers(,\sTurbo)?( ,\sRebuy)?\])?|.*?\.\.\.)(\s-\s(Blinds|Stakes)\s[$€]?( \$2000|\$2500|\$3000|\$4000|\$5000)/[$€]?( \$4000|\$5000|\$6000|\$8000|\$10000)(\sAnte\s(\$|€)\d+)?\s-\sTournament\s\d+\sTable\s\d+(\s-\s1\son\s1\s-\s)?|.*?\.\.\.)

      EDIT: bekomm die smileys nicht weg :coolface:
    • Ghostmaster
      Ghostmaster
      Global
      Dabei seit: 24.05.2006 Beiträge: 39.937
      [.code] [./code] als Tags nutzen, ohne den Punkt offensichtlich.
    • AGGROFORST
      AGGROFORST
      Bronze
      Dabei seit: 26.04.2008 Beiträge: 3.805
      Original von Ghostmaster
      [.code] [./code] als Tags nutzen, ohne den Punkt offensichtlich.
      Hatte ich schon versucht geht auch nicht:

      code:
      [$€][\d,.]+(\+R)?\s((NL|NLHE|PL|(No\s|Pot\s)?Limit)\s)?(Hold'em(\sMixed)?|Omaha(\sH/L)?(\sMixed)?|Stud(\sH/L)?|Razz|5-(C|c)ard\sDraw|Badugi|HOR?SE|8-Game|Triple\sDraw\s2-7\sLowball)?\s?((\[180\sPlayers(,\sTurbo)?(,\sRebuy)?\])?|.*?\.\.\.)(\s-\s(Blinds|Stakes)\s[$€]?(\$2000|\$2500|\$3000|\$4000|\$5000)/[$€]?(\$4000|\$5000|\$6000|\$8000|\$10000)(\sAnte\s(\$|€)\d+)?\s-\sTournament\s\d+\sTable\s\d+(\s-\s1\son\s1\s-\s)?|.*?\.\.\.)