Regex zum Entfernen von Kommentaren

8

Ich versuche, eine Regex zu erstellen, die ich verwenden kann, um eine abschließende Kommentarsyntax aus der Zeichenfolge zu entfernen.

Zum Beispiel wenn ich hatte:

/* help::this is my comment */ sollte zurückgeben this is my comment oder <!-- help:: this is my other comment --> sollte this is my other comment zurückgeben. Im Idealfall möchte ich auf alle wichtigen Programmiersprachen abzielen, die Kommentar-Tags beenden müssen.

Hier ist was ich bisher habe:

%Vor%

Ein HTML-Markup-Beispiel wäre:

%Vor%

also wäre die Zeichenfolge help:: This is a comment -->

    
Luca 30.05.2015, 04:19
quelle

4 Antworten

8

Dies sollte viele Sprachen einschließlich bash unterstützen, die \s nicht unterstützt:

%Vor%

Sie können auch verwenden, wodurch eine unnötige Auswahl verhindert wird, die auch die Verwendung erleichtert:

%Vor%

Du könntest das als funky .replace verwenden, aber es könnte zu eigenartigem Verhalten führen:

%Vor%

Erklärung

Lösung 1:

%Vor%

[\r\n\t\f ]

%Vor%

Lösung 2 (unterstützt fast alles)

%Vor%

Demo 1

Demo 2

    
Downgoat 30.05.2015, 04:41
quelle
3

Sie können nach Bedarf weitere Sprachen hinzufügen:

%Vor%

Beispiel: Ссылка

    
pcnate 30.05.2015 04:36
quelle
2
%Vor%

Siehe Ссылка

    
Tomaso Albinoni 30.05.2015 04:40
quelle
2
%Vor%

Es ist eine längere Version, aber Kommentare werden nicht entfernt, wenn das Starten und Beenden von Kommentartags nicht übereinstimmt.

Demo: Ссылка

    
coder 30.05.2015 05:37
quelle

Tags und Links