Regex



  • Hey wie ich lese bin ich hier nicht der einzige der Regex fragen hat 😃

    undzwar will ich /* */ kommentare entfernen.

    mein regex: /(?!<\")\/\[^\]+\*\/(?!\")/

    ABER /*** Comment */ bleibt stehen :o

    warum?

    also /* Comment / entfernt er aber nicht wenn /** am anfang steht.
    weiß einer warum?



  • Sorry ich versteh deinen Regex nicht...

    Warum nicht einfach

    /\/\*(.|\s)*?\*\//
    

    Zuerst "/" dann nicht greedy beliebige zeichen bzw. whitespace und dann "/".

    EDIT: Dein Regex entfernt auch nicht "/**/". Liegt dran dass du mit "[^\]+" direkt nach dem "/" alle folgenden "*" verbietest. Äh ich hoffe man versteht was ich meine 😃

    Dein Regex soll vermutlich "Kommentare" die in strings vorkommen überlesen. Da würde ich dir raten einfach nen zweiten Regex zu machen der auf strings prüft und dann alle Kommentare die in strings liegen auslassen. Weil das passt bei deinem Ausdruck auch noch nicht und ich hab keinen Plan wie man das sonst um setzen will (und ob das überhaupt machbar ist).

    Achja theoretisch gäbs da noch nen Sonderfall:

    //*
    printf("hallo Welt");
    //*/
    

    🤡


Anmelden zum Antworten