RegEx boost::bad_expression
-
Hi
Könnte bitte jemand mal über den folgenden regulären Audruck schauen und gucken ob er was findet was daran falsch sein könnte. Vielleicht bin ich ja schon blind vom Suchen. Der Ausdruck ist doch recht einfach und trotzdem wirft die boost-lib eine Exception vom typ bad_expression.
RegEx:
([0-9]+(\t|\s)+m2( |\+)* )+(Grdst|Grdst\.)+Ich seh einfach nicht woran das liegt.
-
Hi
Öhm ok, ich habs jetzt soweit dass keine Exception geworfen wird. Boost stolpert über "\+". Aber das sollte doch kein Problem sein das + wird eben maskiert und schon wird es als Literal behandelt. Anscheinend scheint das bei Boost aber nicht egal zu sein.
-
Du bist aber sicher, das du \ auch immer als \\ notiert hast.
-
Öhm, nein. Aus welchem Grund auch immer, dachte ich mir dass ich es bei diesem speziellen Ausdruck nicht brauch, da er nicht an eine Ausgabefunction o.ä. übergeben wird. Ist das denn notwendig ? Ich meine der String wird doch vom RegEx-parser interpretiert. Der erkennt doch \t auch obwohl ich dann eigentlich \\t schreiben müsste. Ich steh grad ziemlich auf dem Schlauch. Muss ich das wirklich so schreiben ?
-
Die Escapesequencen werden bereits beim Compilieren übersetzt.
-
Ahhh. Jetzt wird mir einiges klar. Mir war nie bewusst dass die Sequenzen zur "compiletime" ersetzt werden.
Danke.
-
Deswegen fragt man doch in diesem Forum: Um Dinge, die man noch nicht wuste zu erfahren. Was glaubst du, warum ich hier bin?
-
Öhm um Leuten Dinge, die sie noch nicht wussten zu erklären ?