Heim >Java >javaLernprogramm >Wie kann eine Regex mehrzeilige Kommentare im C-Stil effizient aus einer Zeichenfolge entfernen?

Wie kann eine Regex mehrzeilige Kommentare im C-Stil effizient aus einer Zeichenfolge entfernen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-05 02:39:09590Durchsuche

How Can a Regex Efficiently Remove C-Style Multiline Comments from a String?

Mehrzeilige Kommentare im C-Stil mit Regex abgleichen

Müssen Sie Zeichenfolgen extrahieren, die keine mehrzeiligen Kommentare im C-Stil enthalten? Lassen Sie uns in eine Regex-Lösung eintauchen, die diese Aufgabe effektiv bewältigt.

Um mehrzeilige Kommentare wie / this is comment */ effizient aus einer bestimmten Zeichenfolge zu entfernen, wenden wir uns einem bestimmten Regex zu:

/\*[^*]*\*+(?:[^/*][^*]*\*+)*\*/

Dieses komplexe Muster zerfällt wie folgt:

  • /* – Initiiert den Kommentar mit ein Schrägstrich, gefolgt von einem Sternchen.
  • 1* – Entspricht einem beliebigen Zeichen außer mindestens 0 Mal, gefolgt von einem oder mehreren Malen wörtlich Sternchen.
  • (?:21* ) - Null oder mehr Wiederholungen des Folgendes:

    • 21* - Eine Folge von Nicht-/) und Nicht- Zeichen, gefolgt von einem oder mehreren Sternchen.
  • / – Beendet den Kommentar mit einem schließenden Schrägstrich.

Diese Regex identifiziert mehrzeilige Kommentare umfassend, indem diese Segmente einzeln abgeglichen werden. Im Gegensatz zu Davids regulärem Ausdruck, der 26 Schritte zur Verarbeitung der Beispielzeichenfolge erfordert, erledigt dieses optimierte Muster die Aufgabe in nur 12 Schritten. Bei umfangreichen Eingabezeichenfolgen wird der Effizienzvorteil deutlich, da Davids Lösung aufgrund ihrer komplizierten Struktur möglicherweise Probleme mit dem Stapelüberlauf hat.

Durch die Verwendung dieses hocheffizienten regulären Ausdrucks können Sie mehrzeilige Kommentare mühelos aus Ihren Eingabezeichenfolgen entfernen und so den Inhalt verlassen sie makellos und frei von unnötigem Durcheinander.


  1. *
  2. /*

Das obige ist der detaillierte Inhalt vonWie kann eine Regex mehrzeilige Kommentare im C-Stil effizient aus einer Zeichenfolge entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn