regular Expressions - Wie anwenden?



  • hi!

    Ich will in einem String html-tags finden...

    dazu will ich nach Zeichenfolgen suchen die mit einem "<" beginen und mit einem ">"enden.

    aber wie muss ich das jetzt konkret als Suchstring angeben bei String a.Pos()??

    "<".*">" <--- geht nicht
    <.*> <---- geht auch nicht...

    Schonmal vielen vielen Dank für die Antworten!!!!

    Link oder so reicht auch schon!!!



  • Hallo

    Anhand der verwenden des großgeschriebenen String und der Methode Pos vermute ich, das du mit dem Borland Builder arbeitest und die VCL-Klasse (Ansi-)String verwendest.

    Da kann ich dir nur sagen, das in der VCl keine Unterstützung für Regular Expressions enthalten ist. Pos sucht nur nach dem Argument selber, wertet keine "Platzhalter" aus.

    Auch im C++ Standard ist keine RegEx-Unterstützung vorhanden. Du must also externe Libs verwenden.
    Zum Beispiel gibts in der boost-Library entsprechende Klassen, aber ich weiß nicht ob die noch den Builder unterstützen.

    bis bald
    akari



  • welcher Compiler unterstüzt regular Expressions?



  • Hallo

    Keiner von sich aus, aber alle mittels selbstgeschriebenen Funktionen/Klassen.

    bis bald
    akari



  • Auch im C++ Standard ist keine RegEx-Unterstützung vorhanden.

    Naja, und was ist mit std::tr1::regex???



  • Hallo

    ich kenne noch kein Compiler/IDE, die das tr1 bereits mitliefert, also muß es so oder so extra nachinstalliert werden. Okay, aber standardisiert ist es seit letztem Jahr schon.

    bis bald
    akari



  • Ob etwas nachinstalliert (ist ja wohl eher ein reinkopieren in ein vorhandenes Include-Verzeichnis) werden muß, macht etwas nicht unstandardisiert. MinGW hat auch keine vollständige C++-Standardlib (std::wstring, std::wstreanm std::wcout usw fehlen ganz einfach!), deshalb würde hier niemand im Forum behaupten, C++-Standardlib muß nachinsatlliert werden und deshalb wstring hier nicht relevant. Was auf dem ISO-Dokument steht, ist entscheidend.



  • Hallo

    Das tr1::regex standardisiert ist, hab ich ja auch in meinem dritten Post geschrieben, also bitte häng mir nicht Sachen an, die ich nicht gesagt hab. Ich habe also nur vergessen, statt boost::regex besser tr1::regex zu schreiben...

    Aber wenn wir schon beim Erbsenzählen sind : MinGW kennt sehr wohl std::wstring.

    bis bald
    akari


Anmelden zum Antworten