Heim Backend-Entwicklung PHP-Problem So entfernen Sie Kommentare mit einem regulären PHP-Ausdruck

So entfernen Sie Kommentare mit einem regulären PHP-Ausdruck

Oct 07, 2020 am 01:04 AM
正则表达式

So implementieren Sie das Entfernen regulärer PHP-Kommentare: Erstellen Sie zunächst eine PHP-Beispieldatei. Verwenden Sie dann den regulären Ausdruck „reg_replace(“/(/*.**/)|(#.*?n)|(//.*?“ n )/s“, '', str_replace((...))“ kann entfernt werden

So entfernen Sie Kommentare mit einem regulären PHP-Ausdruck

Empfohlen: „PHP-Video-Tutorial

Testcode

Datei: a .PHP

<?php<br/>/**<br/> * 加法计算<br/> * 测试<br/> */<br/>// 设定$a的值<br/>$a = 10;<br/>// 设定$b的值<br/>$b = 5;<br/>// 加法<br/>$c = $a + $b;<br/># 输出结果<br/>echo $c;<br/>
Nach dem Login kopieren

Datei: test.php

echo "源码:<br />";<br/>show_source(&#39;./a.php&#39;);<br/>echo "<hr />去除注释后:<br />";<br/>highlight_string(removeComment(file_get_contents(&#39;./a.php&#39;)));<br/><br/>/**<br/> * 去除PHP代码注释<br/> * @param string $content 代码内容<br/> * @return string 去除注释之后的内容<br/> */<br/>function removeComment($content){<br/> return preg_replace("/(\/\*.*\*\/)|(#.*?\n)|(\/\/.*?\n)/s", &#39;&#39;, str_replace(array("\r\n", "\r"), "\n", $content));<br/>}<br/>
Nach dem Login kopieren

Testausgabe

Führen Sie test.php aus, die Ausgabe lautet wie folgt:

Regelmäßige Analyse

(\/\*.*\*\/) 匹配 /* */<br/>(#.*?\n)  匹配 #  遇到第一个回车后结束<br/>(\/\/.*?\n) 匹配 //  遇到第一个回车后结束<br/>
Nach dem Login kopieren

Weiter hinzufügen :

Mehrzeiliger Kommentar

<?php <br/> <br/>$s = &#39;/*aaaa <br/>sss <br/>*/*/&#39;; <br/> <br/>preg_match(&#39;@/\*.*?\*/@s&#39;, $s, $match); <br/> <br/>var_dump($match);<br/>
Nach dem Login kopieren

Laufergebnis

array(1) {<br/> [0]=><br/> string(15) "/*aaaa <br/>sss <br/>*/"<br/>}<br/>
Nach dem Login kopieren

einzeiliger Kommentar

<?php <br/>$str = "  <br/>a = b; //asdf //saf <br/>b = c; //asdf <br/>  "; <br/>$reg = &#39;@\s*//.*$@m&#39;; <br/> <br/>$res = preg_replace($reg,&#39;&#39;,$str); <br/> <br/>echo $res;<br/>
Nach dem Login kopieren

Ausgabe

a = b; <br/>b = c;<br/>
Nach dem Login kopieren

Eine weitere Lua-Version von

local test = "int x; /* xx */ xx*/ int y; /* y */" <br/> <br/>function string.gfind(test, patten) <br/> local i,j = 0,0; <br/> return function() <br/>  i,j = string.find(test, patten, j+1) <br/>  if(i == nil) then -- end find <br/>   return nil  <br/>  end  <br/>  return string.sub(test, i, j) <br/> end  <br/>end <br/> <br/> <br/>for v in string.gfind(test, "/%*.-%*/") do <br/> print(v) <br/>end<br/>
Nach dem Login kopieren

Ausgabe
/* xx */
/* y */

phpstorm reguläres Matching um die Kommentarzeile zu löschen (Ersetzen Sie die Kommentarzeile durch eine Leerzeile)

Es fühlt sich gut an, PHPstorm zum Schreiben von PHP- und Javascript-Code zu verwenden, und es ist sehr komfortabel zu verwenden

Ich bin manchmal auf ein Bedürfnis gestoßen, als ich die Quelle gelesen habe Im Code des Frameworks möchte ich die Kommentarzeilen im Quellcode filtern (löschen). Wenn das manuelle Löschen Zeile für Zeile nicht wissenschaftlich genug ist, habe ich natürlich an den leistungsstarken regulären Ausdruck (regulärer Ausdruck regExp) gedacht, um alle Kommentare zu finden Zeilen und ersetzen Sie es durch leer, um die Anforderung zu erfüllen

1. Strg + F, geben Sie den regulären Ausdruck ein: (//.*$)|(/*(.|s)*?*/) Code >

2. Strg + R, nicht eingeben: :(//.*$)|(/*(.|s)*?*/)

2. ctrl + R, 不输入:

3. 点击后面的 Replace all

但发现,这样并没有完全实现我们的需求,只是将注释行替换成了空行。

所以,下面我们再写一个正则表达式, 将空行匹配出来,删掉。

1.ctrl + F, 输入正则表达式: ^n

2.ctrl + R, 不输入

3.点击后面的 Replace all

但发现,还是并没有全部删掉空行。(还有一些空行没删掉)

所以,我们继续来一个正则匹配删除。

1.ctrl + F, 输入正则表达式: sn

3. Klicken Sie auf Alle ersetzen

, aber wir haben festgestellt, dass dies nicht vollständig unseren Anforderungen entsprach, sondern nur die Kommentarzeile durch eine Leerzeile ersetzt hat

Als nächstes Schreiben Sie einen weiteren regulären Ausdruck, der den Leerzeilen entspricht, und löschen Sie sie

1.Strg + F, geben Sie den regulären Ausdruck ein: ^n

2.Strg + R, geben Sie ihn nicht ein 3. Klicken Sie auf „Alle ersetzen“, aber es wurde festgestellt, dass nicht alle Leerzeilen gelöscht wurden (es gibt immer noch einige Leerzeilen, die nicht gelöscht wurden). Fahren wir also mit einer regulären Übereinstimmung zum Löschen fort 🎜🎜1.Strg + F , geben Sie den regulären Ausdruck ein: sn 🎜🎜2.Strg + R, geben Sie nicht 🎜🎜3 ein. Klicken Sie hier, um alle Leerzeilen zu löschen 🎜Eigentlich können diese drei Schritte in einem Schritt umgesetzt werden, Sie können darüber nachdenken! 🎜

Das obige ist der detaillierte Inhalt vonSo entfernen Sie Kommentare mit einem regulären PHP-Ausdruck. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Validierung regulärer PHP-Ausdrücke: Erkennung des Zahlenformats Validierung regulärer PHP-Ausdrücke: Erkennung des Zahlenformats Mar 21, 2024 am 09:45 AM

Überprüfung regulärer PHP-Ausdrücke: Erkennung des Zahlenformats Beim Schreiben von PHP-Programmen ist es häufig erforderlich, die vom Benutzer eingegebenen Daten zu überprüfen. Eine der häufigsten Überprüfungen besteht darin, zu überprüfen, ob die Daten dem angegebenen Zahlenformat entsprechen. In PHP können Sie reguläre Ausdrücke verwenden, um diese Art der Validierung zu erreichen. In diesem Artikel wird erläutert, wie Sie mithilfe regulärer PHP-Ausdrücke Zahlenformate überprüfen und spezifische Codebeispiele bereitstellen. Schauen wir uns zunächst die allgemeinen Validierungsanforderungen für Zahlenformate an: Ganzzahlen: enthalten nur die Zahlen 0–9, können mit einem Plus- oder Minuszeichen beginnen und enthalten keine Dezimalstellen. Gleitkomma

Wie validiere ich eine E-Mail-Adresse in Golang mithilfe eines regulären Ausdrucks? Wie validiere ich eine E-Mail-Adresse in Golang mithilfe eines regulären Ausdrucks? May 31, 2024 pm 01:04 PM

Um E-Mail-Adressen in Golang mithilfe regulärer Ausdrücke zu validieren, führen Sie die folgenden Schritte aus: Verwenden Sie regexp.MustCompile, um ein reguläres Ausdrucksmuster zu erstellen, das gültigen E-Mail-Adressformaten entspricht. Verwenden Sie die MatchString-Funktion, um zu überprüfen, ob eine Zeichenfolge mit einem Muster übereinstimmt. Dieses Muster deckt die meisten gültigen E-Mail-Adressformate ab, einschließlich: Lokale Benutzernamen können Buchstaben, Zahlen und Sonderzeichen enthalten: !.#$%&'*+/=?^_{|}~-`Domänennamen müssen mindestens Eins enthalten Buchstabe, gefolgt von Buchstaben, Zahlen oder Bindestrichen. Die Top-Level-Domain (TLD) darf nicht länger als 63 Zeichen sein.

Wie kann ich Zeitstempel mithilfe regulärer Ausdrücke in Go abgleichen? Wie kann ich Zeitstempel mithilfe regulärer Ausdrücke in Go abgleichen? Jun 02, 2024 am 09:00 AM

In Go können Sie reguläre Ausdrücke verwenden, um Zeitstempel abzugleichen: Kompilieren Sie eine Zeichenfolge mit regulären Ausdrücken, z. B. die, die zum Abgleich von ISO8601-Zeitstempeln verwendet wird: ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ . Verwenden Sie die Funktion regexp.MatchString, um zu überprüfen, ob eine Zeichenfolge mit einem regulären Ausdruck übereinstimmt.

Beherrschen Sie reguläre Ausdrücke und String-Verarbeitung in der Go-Sprache Beherrschen Sie reguläre Ausdrücke und String-Verarbeitung in der Go-Sprache Nov 30, 2023 am 09:54 AM

Als moderne Programmiersprache bietet die Go-Sprache leistungsstarke reguläre Ausdrücke und String-Verarbeitungsfunktionen, sodass Entwickler String-Daten effizienter verarbeiten können. Für Entwickler ist es sehr wichtig, reguläre Ausdrücke und String-Verarbeitung in der Go-Sprache zu beherrschen. In diesem Artikel werden die grundlegenden Konzepte und die Verwendung regulärer Ausdrücke in der Go-Sprache sowie die Verwendung der Go-Sprache zum Verarbeiten von Zeichenfolgen ausführlich vorgestellt. 1. Reguläre Ausdrücke sind ein Werkzeug zur Beschreibung von Zeichenfolgenmustern. Sie können problemlos Vorgänge wie Zeichenfolgenabgleich, Suche und Ersetzung implementieren.

Reguläre PHP-Ausdrücke: Exakte Übereinstimmung und Ausschluss von Fuzzy-Einschlüssen Reguläre PHP-Ausdrücke: Exakte Übereinstimmung und Ausschluss von Fuzzy-Einschlüssen Feb 28, 2024 pm 01:03 PM

Reguläre PHP-Ausdrücke: Exakte Übereinstimmung und Ausschluss. Reguläre Fuzzy-Inklusion-Ausdrücke sind ein leistungsstarkes Text-Matching-Tool, das Programmierern bei der effizienten Suche, Ersetzung und Filterung bei der Textverarbeitung helfen kann. In PHP werden reguläre Ausdrücke auch häufig zur Zeichenfolgenverarbeitung und zum Datenabgleich verwendet. Dieser Artikel konzentriert sich auf die Durchführung von exakten Übereinstimmungen und den Ausschluss von Fuzzy-Inklusion-Operationen in PHP und veranschaulicht dies anhand spezifischer Codebeispiele. Exakte Übereinstimmung Exakte Übereinstimmung bedeutet, dass nur Zeichenfolgen abgeglichen werden, die die genaue Bedingung erfüllen, keine Variationen oder zusätzlichen Wörter.

Wie überprüfe ich das Passwort mithilfe eines regulären Ausdrucks in Go? Wie überprüfe ich das Passwort mithilfe eines regulären Ausdrucks in Go? Jun 02, 2024 pm 07:31 PM

Die Methode zur Verwendung regulärer Ausdrücke zur Überprüfung von Passwörtern in Go lautet wie folgt: Definieren Sie ein Muster für reguläre Ausdrücke, das die Mindestanforderungen für Passwörter erfüllt: mindestens 8 Zeichen, einschließlich Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen. Kompilieren Sie reguläre Ausdrucksmuster mit der MustCompile-Funktion aus dem Regexp-Paket. Verwenden Sie die MatchString-Methode, um zu testen, ob die Eingabezeichenfolge mit einem regulären Ausdrucksmuster übereinstimmt.

Wie erkennt man eine URL mit regulärem Ausdruck in Golang? Wie erkennt man eine URL mit regulärem Ausdruck in Golang? May 31, 2024 am 10:32 AM

Die Schritte zum Erkennen von URLs in Golang mithilfe regulärer Ausdrücke sind wie folgt: Kompilieren Sie das reguläre Ausdrucksmuster mit regexp.MustCompile(pattern). Das Muster muss mit Protokoll, Hostname, Port (optional), Pfad (optional) und Abfrageparametern (optional) übereinstimmen. Verwenden Sie regexp.MatchString(pattern,url), um zu erkennen, ob die URL mit dem Muster übereinstimmt.

Was sind die Platzhalter für reguläre Ausdrücke? Was sind die Platzhalter für reguläre Ausdrücke? Nov 17, 2023 pm 01:40 PM

Zu den Platzhaltern für reguläre Ausdrücke gehören „.“, „*“, „+“, „?“, „^“, „$“, „[]“, „[^]“, „[a-z]“, „[A-Z]“. ,“[0-9]“,\d“,\D“,\w“,\W“,\s&quo

See all articles