Heim häufiges Problem Häufige Fehler für Anfänger beim Erlernen regulärer Ausdrücke

Häufige Fehler für Anfänger beim Erlernen regulärer Ausdrücke

Nov 09, 2019 pm 05:42 PM
常见错误 正则

Der Vorteil regulärer Regeln besteht darin, dass sie einfach anzuwenden sind. Nach ein paar Stunden Lernen können Sie die meisten regulären Regeln verstehen, aber im Verlauf des Übens werden Sie immer noch auf viele Dinge stoßen Wenn Sie Ergebnisse erzielen möchten, ist die Grammatik regulärer Ausdrücke immer noch etwas seltsam. In diesem Artikel wurden einige Fehler zusammengestellt, die beim Erlernen regulärer Ausdrücke auftreten.

Häufige Fehler für Anfänger beim Erlernen regulärer Ausdrücke

Regulärer Ausdruck

1. Leerzeichen

Normalerweise schreiben wir manchmal Code Leerzeichen werden normalerweise als Werkzeug verwendet, um den Code standardisierter zu gestalten, zusammen mit entsprechenden Einzügen und Tabulatoren am Zeilenanfang, um den Code klarer aussehen zu lassen. Aber seien Sie vorsichtig bei regulären Ausdrücken – das Leerzeichen selbst ist auch ein Zeichen, das abgeglichen werden muss:

echo preg_match('/a{1, 3}/', "aaa") ? '匹配' : '不匹配';  // 不匹配
Nach dem Login kopieren

Der obige reguläre Ausdruck soll beispielsweise 1 bis 3 a abgleichen, aber tatsächlich stimmt nicht mit den folgenden drei a überein, da sich in der Mitte von {1, 3} ein zusätzliches Leerzeichen befindet, das die ursprüngliche Bedeutung des Metazeichens „{}“ ungültig macht und zu einem gewöhnlichen Zeichen wird:

echo preg_match('/a{1, 3}/', "a{1, 3}") ? '匹配' : '不匹配';  // 匹配
Nach dem Login kopieren

“ Stattdessen wird ein {1, 3}" abgeglichen, was offensichtlich nicht das ist, was wir wollen, daher müssen wir darauf achten, keine Leerzeichen zu verwenden, es sei denn, das Leerzeichen selbst wird abgeglichen:

echo preg_match('/a{1,3}/', "aaa") ? '匹配' : '不匹配';  // 匹配
Nach dem Login kopieren

※ Ausnahmen Der Mustermodifikator Es ist schwer zu verstehen und wird nicht empfohlen:

echo preg_match('/a a a/x', "aaa") ? '匹配' : '不匹配';  // 匹配
Nach dem Login kopieren

2. Großschreibung

Das ist im Grunde genommen ein Flüchtigkeitsfehler Normalerweise werden bei der Suche nach Buchstaben in Suchwerkzeugen Groß- und Kleinbuchstaben abgeglichen. Manchmal vergisst man, dass reguläre Ausdrücke nicht automatisch mit Groß- und Kleinbuchstaben übereinstimmen:

echo preg_match('/flag/', "Flag") ? '匹配' : '不匹配';  // 不匹配
Nach dem Login kopieren

Es kann vorkommen, dass der erste Buchstabe von Die auf diese Weise übereinstimmende Zeichenfolge wird selbstverständlich großgeschrieben. Zu diesem Zeitpunkt müssen wir sowohl die Groß- als auch die Kleinschreibung berücksichtigen. Aber manchmal möchten wir ein bestimmtes Wort zuordnen, solange diese vier Buchstaben übereinstimmen, ist es schwieriger zu schreiben:

echo preg_match('/[Ff][Ll][Aa][Gg]/', "Flag") ? '匹配' : '不匹配';  // 匹配
Nach dem Login kopieren

Obwohl es schwer vorstellbar ist, dass es so etwas Seltsames wie „fLaG“ gibt " Schreibmethode, aber wenn Sie es nicht so schreiben, können Sie nicht alle Situationen zuordnen, aber manchmal ist uns die Groß- und Kleinschreibung egal, aber die abzugleichende Zeichenfolge ist sehr lang. Ich fürchte, ich werde es tun Seien Sie erschöpft, wenn ich es so schreibe, aber zum Glück haben wir die „i“-Modifikation:

echo preg_match('/flag/i', "Flag") ? '匹配' : '不匹配';  // 匹配
Nach dem Login kopieren

Wenn der Modifikator „i“ gesetzt ist, wird die Groß-/Kleinschreibung im Muster nicht berücksichtigt.

3. Gieriger Modus

Die Quantifizierer „+“ und „*“ sind standardmäßig nicht auf die damit verbundenen Probleme gestoßen. Möglicherweise verstehen Sie sie nicht Was das bedeutet. Hier ist ein Beispiel von Kano:

preg_match_all(&#39;/<span>.*<\/span>/&#39;, "<span>aaa</span><span>bbb</span>", $matches);
var_dump($matches);
Nach dem Login kopieren

Häufige Fehler für Anfänger beim Erlernen regulärer Ausdrücke

Die ursprüngliche Absicht der Regelmäßigkeit besteht darin, alle Spannen in einem String-Tag zu finden und sie einzufügen in ein Array, aber das Ergebnis ist seltsam: Beide Spannen wurden gleichzeitig abgeglichen! Tatsächlich ist dies sinnvoll, wenn Sie darüber nachdenken. Die Zeichenfolge „aaabbb“ beginnt tatsächlich mit , aber das .* darin stimmt mit zu vielen Inhalten überein, „aaabbb“ wird alle gefunden. Dies ist der gierige Modus von „+“ und „*“ – standardmäßig stimmen sie mit so vielen Zeichen wie möglich überein, und das Hinzufügen eines „?“ am Ende kann diesen gierigen Modus aufheben, sodass sie nur mit so wenig Inhalt wie möglich übereinstimmen:

preg_match_all(&#39;/<span>.*?<\/span>/&#39;, "<span>aaa</span><span>bbb</span>", $matches);
var_dump($matches);
Nach dem Login kopieren

Häufige Fehler für Anfänger beim Erlernen regulärer Ausdrücke

Diesmal haben wir das gewünschte Ergebnis erzielt.

Die reguläre Syntax ist etwas ganz Besonderes und es kann leicht zu Problemen kommen, wenn man nicht aufpasst.

Empfohlene Studie: „Schnelle Einführung in reguläre Ausdrücke

Das obige ist der detaillierte Inhalt vonHäufige Fehler für Anfänger beim Erlernen regulärer Ausdrücke. 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)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
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)

Wie ordne ich mehrere Wörter oder Zeichenfolgen mithilfe des regulären Golang-Ausdrucks zu? Wie ordne ich mehrere Wörter oder Zeichenfolgen mithilfe des regulären Golang-Ausdrucks zu? May 31, 2024 am 10:32 AM

Reguläre Golang-Ausdrücke verwenden das Pipe-Zeichen |, um mehrere Wörter oder Zeichenfolgen abzugleichen, wobei jede Option als logischer ODER-Ausdruck getrennt wird. Zum Beispiel: Entspricht „fox“ oder „dog“: fox|dog entspricht „quick“, „brown“ oder „lazy“: (quick|brown|lazy) entspricht „Go“, „Python“ oder „Java“: Go| Python |Java sucht nach Wörtern oder 4-stelligen Postleitzahlen: ([a-zA

So ersetzen Sie eine Zeichenfolge, die mit „was' beginnt, durch einen regulären PHP-Ausdruck So ersetzen Sie eine Zeichenfolge, die mit „was' beginnt, durch einen regulären PHP-Ausdruck Mar 24, 2023 pm 02:57 PM

Reguläre PHP-Ausdrücke sind ein leistungsstarkes Werkzeug zur Textverarbeitung und -konvertierung. Es kann Textinformationen effektiv verwalten, indem es Textinhalte analysiert und sie gemäß bestimmten Mustern ersetzt oder abfängt. Eine häufige Anwendung regulärer Ausdrücke besteht darin, Zeichenfolgen zu ersetzen, die mit bestimmten Zeichen beginnen. Wir werden dies wie folgt erklären

So verwenden Sie reguläre Ausdrücke, um chinesische Schriftzeichen in PHP zu entfernen So verwenden Sie reguläre Ausdrücke, um chinesische Schriftzeichen in PHP zu entfernen Mar 03, 2023 am 10:12 AM

So entfernen Sie Chinesisch mithilfe regulärer Regeln in PHP: 1. Erstellen Sie eine PHP-Beispieldatei. 2. Definieren Sie eine Zeichenfolge, die Chinesisch und Englisch enthält. 3. Verwenden Sie „preg_replace('/([\x80-\xff]*)/i', '',$a);“ Die reguläre Methode kann chinesische Zeichen aus den Abfrageergebnissen entfernen.

So verwenden Sie den regulären Abgleich, um HTML-Tags in PHP zu entfernen So verwenden Sie den regulären Abgleich, um HTML-Tags in PHP zu entfernen Mar 21, 2023 pm 05:17 PM

In diesem Artikel erfahren Sie, wie Sie mithilfe regulärer PHP-Ausdrücke HTML-Tags entfernen und Klartextinhalte aus HTML-Strings extrahieren. Um zu demonstrieren, wie man HTML-Tags entfernt, definieren wir zunächst eine Zeichenfolge, die HTML-Tags enthält.

Häufige Fehler bei der Konvertierung von Golang-Typen und ihre Lösungen Häufige Fehler bei der Konvertierung von Golang-Typen und ihre Lösungen Feb 25, 2024 am 08:30 AM

Häufige Fehler und Lösungen bei der Golang-Typkonvertierung Bei der Entwicklung mit Golang ist die Typkonvertierung zweifellos ein häufig auftretendes Problem. Obwohl Golang eine statisch typisierte Sprache ist, müssen wir in einigen Fällen dennoch eine Typkonvertierung durchführen, z. B. die Konvertierung vom Typ interface{} in einen bestimmten Strukturtyp oder die Konvertierung von einem Basisdatentyp in einen anderen Basisdatentyp. Bei der Typkonvertierung treten jedoch häufig Fehler auf. In diesem Artikel werden einige häufig auftretende Typkonvertierungsfehler vorgestellt.

Häufige Fehler in C++-Programmen und deren Lösungen: Fehler „Segmentierungsfehler'. Häufige Fehler in C++-Programmen und deren Lösungen: Fehler „Segmentierungsfehler'. Aug 26, 2023 pm 12:42 PM

Häufige Fehler in C++-Programmen und deren Lösungen: Fehler „Segmentierungsfehler“ Während des C++-Programmierungsprozesses stoßen wir häufig auf verschiedene Fehler. Ein häufiger Fehler unter ihnen ist „Segmentierungsfehler“. Wenn dieser Fehler auftritt, während ein Programm ausgeführt wird, bedeutet dies normalerweise, dass das Programm versucht, auf eine nicht vorhandene oder illegale Speicheradresse zuzugreifen, was zum Absturz des Programms führt. Dieser Fehler kann dazu führen, dass die Programmausführung fehlschlägt und eine Fehlermeldung in der Befehlszeile oder im Terminal angezeigt wird.

Geben Sie Tipps zur Verwendung regulärer PHP-Ausdrücke zur Implementierung der chinesischen Ersetzungsfunktion Geben Sie Tipps zur Verwendung regulärer PHP-Ausdrücke zur Implementierung der chinesischen Ersetzungsfunktion Mar 24, 2024 pm 05:57 PM

Wir geben Tipps zur Verwendung regulärer PHP-Ausdrücke zur Implementierung der chinesischen Ersetzungsfunktion. Bei der Webentwicklung stoßen wir häufig auf Situationen, in denen chinesische Inhalte ersetzt werden müssen. Als beliebte serverseitige Skriptsprache bietet PHP leistungsstarke reguläre Ausdrucksfunktionen, mit denen sich problemlos chinesische Ersetzungen realisieren lassen. In diesem Artikel werden einige Techniken zur Verwendung regulärer Ausdrücke zur Implementierung der chinesischen Substitution in PHP vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Verwenden Sie die Funktion preg_replace, um die chinesische Ersetzung zu implementieren. Die Funktion preg_replace kann in PHP verwendet werden

Vorsichtsmaßnahmen für PHP-Abfrageanweisungen und häufige Fehler Vorsichtsmaßnahmen für PHP-Abfrageanweisungen und häufige Fehler Mar 22, 2024 am 11:42 AM

PHP ist eine in der Webentwicklung weit verbreitete Programmiersprache, die mit verschiedenen Datenbanken interagieren kann, um Datenabfragen und -operationen zu implementieren. Bei der Verwendung von PHP für Abfragevorgänge müssen wir einige Punkte besonders beachten, um häufige Fehler zu vermeiden. Im Folgenden werden die Vorsichtsmaßnahmen und häufigen Fehler von PHP-Abfrageanweisungen im Detail vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern das Verständnis zu erleichtern. 1. Verbindung zur Datenbank herstellen Bevor Sie eine PHP-Abfrage durchführen, müssen Sie zunächst eine Verbindung zur Datenbank herstellen. Verwenden Sie PHPs integriertes mysqli (MySQLI