RegEx HTML Kommentare ausfiltern

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    RegEx HTML Kommentare ausfiltern

    Hi,

    ich habe eine HTML Datei, die zahlreiche Kommentare beinhaltet, also Tags der Gestalt:

    <!-- .... -->

    HTML-Quellcode

    1. <HTML lang=de>
    2. <HEAD>
    3. <!--
    4. <html>
    5. <body>
    6. <div class="in">
    7. </div>
    8. <div class="sed">
    9. </div>
    10. </body>
    11. </html>
    12. -->
    13. <META charset=UTF-8>
    14. <STYLE>HTML=20BODY=20TABLE BORDER-COLLAPSE: collapse; BORDER-SPACING: 0
    15. </STYLE>
    16. ...



    Ich möchte diese Kommentare gern entfernen (da sie irreführenden Code enthalten). Und deshalb habe ich diese Strings wie folgt gesucht:

    Quellcode

    1. <!--.*-->


    Damit werde ich aber leider nicht fündig ... und das verstehe ich nicht ! Vielleicht liegt das an den Zeilenumbrüchen ? Aber wie schließe ich die in das Suchmuster ein ?

    Wenn ich etwa nur nach

    Quellcode

    1. <!--


    suche, werden die entsprechenden Tags alle gefunden.

    Ich hoffe, mir kann jemand bei meinen ersten Gehversuchen im RegEx weiterhelfen ...

    LG
    Peter
    Klasse ! Das ist genau das, was ich gesucht hatte ! Danke !

    Jetzt habe ich aber doch noch eine Frage ...

    Wenn ich etwa nach <span> ... </span> zeilenübergreifend suchen möchte, dann will ich auch die Optionn "IgnoreCase" verwenden. Wie kann ich denn das jetzt zusammen mit "SingleLine" verwenden ?

    Das Dingens ist eine ENUM von Typ RegExOptions.... und deshalb kann man nicht einfach

    VB.NET-Quellcode

    1. RegexOptions.Singleline + RegexOptions.IgnoreCase


    kodieren.

    Gibt es eine Möglichkeit RegEx Options zu "addieren" oder zu verketten ?

    LG
    Peter

    Peter329 schrieb:

    Das Dingens ist eine ENUM von Typ RegExOptions.... und deshalb kann man nicht einfach

    VB.NET-Quellcode

    1. RegexOptions.Singleline + RegexOptions.IgnoreCase
    Doch, kann man!
    Also möglich ist das durchaus, aber EaranMaleasis Version mit dem Bit-Operator ist die korrektere Art.

    Jdfs. merken - das ist ein ganz wichtiges Feature von Enums.
    Ein geflagtes Enum ist ein Bitmuster, und jedes Bit kann die Funktion einer Boolean-Variablen erfüllen.
    Ein Standard-Enum kann also bis zu 32 verschiedene Ja/Nein-Einstellungen transportieren - in einer einzigen Variable.