Key Takeaways
- reguläre Ausdrücke (REGEX) sind ein wertvolles Instrument für Entwickler, das für Aufgaben wie Protokollanalyse, Validierung der Formulare und Ersetzen von Operationen verwendet und ersetzt wird. Das Verständnis des effektiven Aufbaus und der Verwendung von Regex kann die Produktivität und Effizienz erheblich verbessern.
- Ein guter Regex beinhaltet die Definition eines Szenarios, die Entwicklung eines Plans und die Implementierung/Testen/Refactoring. Es ist wichtig zu verstehen, welche Arten von Charakteren erlaubt sind, wie oft ein Charakter erscheinen muss und alle Einschränkungen folgen.
- Praktische Beispiele für die Regex -Verwendung umfassen das Abpassen eines Kennworts, eine URL, ein bestimmtes HTML -Tag und duplizierte Wörter. Diese Beispiele zeigen die Verwendung von Zeichenbereichen, Behauptungen, Bedingungen, Gruppen und mehr.
- Während Regex ein leistungsstarkes Werkzeug ist, kann es auch komplex und schwer zu verwalten sein. Daher ist es manchmal effektiver, mehrere kleinere Regex anstelle eines großen zu verwenden. Die Beachtung von Gruppenaufnahmen kann auch die Übereinstimmungen für die weitere Verarbeitung nützlicher machen.
- Abgleichen eines Passworts
- passen eine URL ab
- Abgleichen eines bestimmten HTML -Tags
- Matching duplizierte Wörter
wie man einen guten Regex baut
Regelmäßige Ausdrücke werden häufig in der täglichen Routine des Entwicklers verwendet - Protokollanalyse, Validierung der Formulare, Finden und Ersetzen usw. Deshalb sollte jeder gute Entwickler wissen, wie man sie benutzt, aber was ist die beste Praxis, um eine gute Regex aufzubauen?1. Definieren Sie ein Szenario
Wenn Sie die natürliche Sprache verwenden, um das Problem zu definieren, erhalten Sie eine bessere Vorstellung von dem Gebrauchsansatz. Die Wörter könnten und müssen, die in einer Definition verwendet werden, nützlich, um obligatorische Einschränkungen oder Behauptungen zu beschreiben. Unten ist ein Beispiel:- Die Zeichenfolge muss mit "H" beginnen und mit "o" (z. B. Hallo, Halo).
- Die Zeichenfolge könnte in Klammern verpackt werden.
2. Entwickeln Sie einen Plan
Nach einer guten Definition des Problems können wir die Art von Elementen verstehen, die an unserem regulären Ausdruck beteiligt sind:- Welche Arten von Zeichen erlaubt (Wort, Ziffer, neue Zeile, Bereich,…)?
- Wie oft muss ein Charakter erscheinen (ein oder mehrere einmal,…)?
- Gibt es einige Einschränkungen, die folgen müssen (Optionen, Lookahead/Hinten, if-then-else,…)?
3. Implement/testen/refactor
Es ist sehr wichtig, eine Echtzeit-Testumgebung zu haben, um Ihren regulären Ausdruck zu testen und zu verbessern. Es gibt Websites wie regex101.com, regexr.com und debuggex.com, die einige der besten Umgebungen bieten. Um die Effizienz des Regex zu verbessern, können Sie versuchen, einige dieser zusätzlichen Fragen zu beantworten:- Sind die Zeichenklassen für die spezifische Domäne korrekt definiert?
- Soll ich mehr Testketten schreiben, um mehr Anwendungsfälle abzudecken?
- Ist es möglich, einige Probleme zu finden und zu isolieren und separat zu testen?
- Sollte ich meinen Ausdruck mit Subpattern, Gruppen, Bedingungen usw. neu aufstellen, um ihn kleiner, klarer und flexibler zu machen?
Praktische Beispiele
Das Ziel der folgenden Beispiele ist es nicht, einen Ausdruck zu schreiben, der das Problem nur löst, sondern den effektivsten Ausdruck für die spezifischen Anwendungsfälle unter Verwendung wichtiger Elemente wie Charakterbereichen, Behauptungen, Bedingungen, Gruppen usw.Abgleichen eines Passworts

- 6 bis 12 Zeichen lang
- muss mindestens einen Großbuchstaben haben
- muss mindestens einen unteren Fallbrief haben
- muss mindestens eine Ziffer haben
- sollte andere Zeichen enthalten
- ^ behauptet die Position zu Beginn der Zeichenfolge
- (?
- .* Übereinstimmt jedem Zeichen (außer Newline) zwischen Null und unbegrenzten Zeiten
- [a-z] entspricht einem einzelnen Zeichen im Bereich zwischen A und Z (Fallempfindlichkeit)
- (?
- .* Übereinstimmt jedem Zeichen (außer Newline) zwischen Null und unbegrenzten Zeiten
- [a-z] entspricht einem einzelnen Zeichen zwischen A und Z (Fallempfindlichkeit)
- (?
- .* Übereinstimmt jedem Zeichen (außer Newline) zwischen Null und unbegrenzten Zeiten
- D entspricht einer Ziffer [0-9]
- . {6,12}entspricht jedem Charakter (außer Newline) zwischen 6 und 12 -mal
- $ behauptet die Position am Ende der Zeichenfolge
passende URL

- muss mit http oder https oder ftp beginnen, gefolgt von: //
- muss mit einem gültigen Domänennamen übereinstimmen
- könnte eine Portspezifikation (http://www.sitepoint.com:80) enthalten
- könnte Ziffer, Buchstaben, Punkte, Bindestriche, Vorwärts -Schrägstriche, mehrmals enthalten
- ^ behauptet die Position zu Beginn der Zeichenfolge
- Erfassungsgruppe (http | https | ftp), erfasst http oder https oder ftp
- : entkommenem Charakter, entspricht dem Charakter: buchstäblich
- [ /] {2} stimmt genau das 2 -fache mit dem entkommenen Zeichen / überein
- Erfassungsgruppe ([a-za-z0-9-.]. [A-za-z] {2,4}):
- [a-za-z0-9- buchstäblich
- . entspricht dem Charakter. buchstäblich
- [a-za-z] {2,4}entspricht einem einzelnen Zeichen zwischen 2 und 4 -mal zwischen A und Z oder A und Z (Fallempfindlichkeit)
- Gruppe erfassen (: [0-9]) ?:
- Quantifizierer? entspricht der Gruppe zwischen Null oder mehrmals
- : Passt zum Charakter: buchstäblich
- [0-9] entspricht einem einzelnen Zeichen zwischen 0 und 9 ein oder mehrmals
- /? entspricht dem Charakter / buchstäblich Null oder einmal
- Gruppe erfassen ([a-za-z0-9 -._?, '/\ & Amp;%$#= ~]*):
- [a-za-z0-9 -._? : -._?, '/ & amp;%$#= ~.
Übereinstimmung mit HTML -Tag

- Das Start -Tag muss mit
- Das End -Tag muss mit gefolgt von einem oder mehreren Zeichen beginnen und mit> enden
- Wir müssen den Inhalt in einem Tag -Element übereinstimmen
-
- / entspricht dem Charakter / buchstäblich
- 1 entspricht dem gleichen Text, der von der ersten Erfassungsgruppe übereinstimmt: ([w])

- Szenario:
- Die Wörter sind Raum getrennt Wir müssen jede Duplikation übereinstimmen-nicht aufeinanderfolgende
- Übereinstimmung mit jedem Wortcharakter, gefolgt von einem Nicht-Wort-Charakter (in unserem Fallraum)
- Überprüfen Sie, ob das übereinstimmende Wort bereits vorhanden ist oder nicht
- b Wortgrenze
- Gruppe erfassen ([w]) entspricht jedem Wortzeichen a-za-z0-9_
- b Wortgrenze
- (?
- .* Übereinstimmt jedem Zeichen (außer Newline)
- 1 entspricht demselben Text wie der erste Erfassungsgruppe
endgültige Gedanken
Regelmäßige Ausdrücke sind zweischneidige Schwerter. Je mehr Komplexität hinzugefügt wird, desto schwieriger ist es, das Problem zu lösen. Aus diesem Grund ist es manchmal schwierig, einen regulären Ausdruck zu finden, der allen Fällen übereinstimmt, und es ist besser, stattdessen mehrere kleinere Regex zu verwenden. Ein gutes Szenario des Problems könnte sehr hilfreich sein und es Ihnen ermöglicht, über den Charakterbereich, die Einschränkungen, Behauptungen, Wiederholungen, optionale Werte usw. nachzudenken. Wenn Sie den Gruppenaufnahmen mehr Aufmerksamkeit schenken, nützt die Übereinstimmungen für die weitere Verarbeitung nützlich. Fühlen Sie sich frei, die Ausdrücke in den Beispielen zu verbessern und teilen Sie uns mit, wie Sie es tun!Nützliche Ressourcen
Im Folgenden finden Sie weitere Informationen und Ressourcen, um Ihre Regex -Fähigkeiten zu wachsen. Fühlen Sie sich frei, dem Artikel einen Kommentar hinzuzufügen, wenn Sie etwas Nützliches finden, das nicht aufgeführt ist.Lea Verou - /reg (exp) {2}LAUPE/: Entmystifizierende reguläre Ausdrücke
https://www.youtube.com/watch?v=eklues9rvakPHP -Bibliotheken
Websites
Bücher
häufig gestellte Fragen (FAQs) zu regulären Ausdrücken (REGEX)
Was sind einige praktische Anwendungen von regulären Ausdrücken (REGEX)? Sie werden häufig in der Datenvalidierung verwendet, um sicherzustellen, dass die Eingabe der Benutzer mit einem bestimmten Format übereinstimmt, z. B. eine E -Mail -Adresse oder Telefonnummer. Sie können auch im Web -Scraping verwendet werden, um bestimmte Informationen aus einer Webseite zu extrahieren. Darüber hinaus kann Regex in der Textverarbeitung für Aufgaben wie das Finden und Austausch bestimmter Textzeichenfolgen, die Aufteilung einer Zeichenfolge in ein Array von Substrings und mehr verwendet werden.
Das Erstellen komplexer regulärer Ausdrücke beinhaltet das Verständnis und die Kombination verschiedener Regex -Komponenten. Dazu gehören Literale, Charakterklassen, Quantifizierer und Metacharaccters. Indem Sie diese Komponenten auf unterschiedliche Weise kombinieren, können Sie regelmäßige Ausdrücke erstellen, die zu einer Vielzahl von Mustern passen. Sie können beispielsweise einen regulären Ausdruck erstellen, der E -Mail -Adressen, Telefonnummern oder URLs entspricht.
Was sind einige häufige Fehler, die bei der Verwendung regelmäßiger Ausdrücke (Regex) zu vermeiden sind. *), was zu unerwarteten Ergebnissen führen kann. Ein weiterer häufiger Fehler ist nicht ordnungsgemäß den Sonderfiguren, wenn sie wörtlich interpretiert werden sollen. Darüber hinaus ist es wichtig, sich daran zu erinnern, dass regelmäßige Ausdrücke standardmäßig von Fall sensitiv sind. Sie müssen daher die entsprechenden Flags verwenden, wenn Sie den Fall ignorieren möchten.
Wie kann ich meine regulären Ausdrücke (Regex) testen? >
Es gibt mehrere Online -Tools, mit denen Sie Ihre regulären Ausdrücke testen können. Mit diesen Tools können Sie in der Regel einen regulären Ausdruck und eine Testzeichenfolge eingeben und dann die Teile der Testzeichenfolge hervorheben, die dem regulären Ausdruck entsprechen. Dies kann eine großartige Möglichkeit sein, Ihre regulären Ausdrücke zu debuggen und sicherzustellen, dass sie wie erwartet arbeiten. Ausdrücke in irgendeiner Form. Die spezifischen Syntax und die unterstützten Funktionen können jedoch zwischen den Sprachen variieren. Zum Beispiel unterstützen JavaScript, Python und Ruby alle regulären Ausdrücke, aber sie haben jeweils ihre eigene einzigartige Syntax und Funktionen. Obwohl reguläre Ausdrücke unglaublich leistungsfähig sein können, können sie auch ressourcenintensiv sein, wenn sie nicht ordnungsgemäß verwendet werden. Die Ausführung von komplexen regulären Ausdrücken kann lange dauern, insbesondere bei großen Textketten. Daher ist es wichtig, regelmäßige Ausdrücke mit Bedacht zu verwenden und sie so weit wie möglich zu optimieren.Wie kann ich meine regulären Ausdrücke (Regex) optimieren? Dazu gehören die Vermeidung unnötiger Quantifizierer, die Verwendung von Nicht-Rückfallgruppen, wenn Sie den übereinstimmenden Text nicht benötigen, und die Verwendung von Zeichenklassen anstelle von Wechsel, wo möglich. Darüber hinaus bieten einige regelmäßige Expressionsmotoren Optimierungsfunktionen wie faule Quantifizierer, die die Leistung verbessern können. verfügbar, um mehr über reguläre Ausdrücke zu erfahren. Dazu gehören Online -Tutorials, Bücher und interaktive Lernplattformen. Darüber hinaus verfügen viele Programmiersprachen über umfangreiche Dokumentation zu ihrer regulären Ausdrucksyntax und -funktionen. Um HTML oder XML zu analysieren, wird dies im Allgemeinen nicht empfohlen. Dies liegt daran, dass HTML und XML eine verschachtelte Struktur haben, die mit regulären Ausdrücken schwer genau erfassen kann. Stattdessen ist es normalerweise besser, einen dedizierten HTML- oder XML -Parser zu verwenden.
Was sind einige Alternativen zu regulären Ausdrücken (Regex)? Abhängig von der vorliegenden Aufgabe sind Sie möglicherweise besser dran, einen anderen Ansatz zu verwenden. Beispielsweise können Sie für einfache String-Manipulationsaufgaben möglicherweise integrierte String-Methoden anstelle von regulären Ausdrücken verwenden. Für das Parsen von HTML oder XML verwenden Sie normalerweise einen speziellen Parser. Und für komplexe Textverarbeitungsaufgaben möchten Sie möglicherweise in Betracht ziehen, eine Bibliothek für natürliche Sprachverarbeitung zu verwenden.
Das obige ist der detaillierte Inhalt vonEntmystifizierende Regex mit praktischen Beispielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

PHP ist eine serverseitige Skriptsprache, die für dynamische Webentwicklung und serverseitige Anwendungen verwendet wird. 1.PHP ist eine interpretierte Sprache, die keine Zusammenstellung erfordert und für die schnelle Entwicklung geeignet ist. 2. PHP -Code ist in HTML eingebettet, wodurch es einfach ist, Webseiten zu entwickeln. 3. PHP verarbeitet die serverseitige Logik, generiert die HTML-Ausgabe und unterstützt Benutzerinteraktion und Datenverarbeitung. 4. PHP kann mit der Datenbank interagieren, die Einreichung von Prozessformularen und serverseitige Aufgaben ausführen.

PHP hat das Netzwerk in den letzten Jahrzehnten geprägt und wird weiterhin eine wichtige Rolle bei der Webentwicklung spielen. 1) PHP stammt aus dem Jahr 1994 und ist aufgrund seiner Benutzerfreundlichkeit und der nahtlosen Integration in MySQL die erste Wahl für Entwickler. 2) Zu den Kernfunktionen gehört das Generieren dynamischer Inhalte und die Integration in die Datenbank, sodass die Website in Echtzeit aktualisiert und auf personalisierte Weise angezeigt wird. 3) Die breite Anwendung und das Ökosystem von PHP hat seine langfristigen Auswirkungen angetrieben, steht jedoch auch mit Versionsaktualisierungen und Sicherheitsherausforderungen gegenüber. 4) Leistungsverbesserungen in den letzten Jahren, wie die Veröffentlichung von PHP7, ermöglichen es ihm, mit modernen Sprachen zu konkurrieren. 5) In Zukunft muss PHP sich mit neuen Herausforderungen wie Containerisierung und Microservices befassen, aber seine Flexibilität und die aktive Community machen es anpassungsfähig.

Zu den Kernvorteilen von PHP gehören einfacher Lernen, starke Unterstützung für Webentwicklung, reiche Bibliotheken und Rahmenbedingungen, hohe Leistung und Skalierbarkeit, plattformübergreifende Kompatibilität und Kosteneffizienz. 1) leicht zu erlernen und zu bedienen, geeignet für Anfänger; 2) gute Integration in Webserver und unterstützt mehrere Datenbanken. 3) leistungsstarke Frameworks wie Laravel; 4) hohe Leistung kann durch Optimierung erzielt werden; 5) mehrere Betriebssysteme unterstützen; 6) Open Source, um die Entwicklungskosten zu senken.

PHP ist nicht tot. 1) Die PHP -Community löst aktiv Leistungs- und Sicherheitsprobleme, und Php7.x verbessert die Leistung. 2) PHP ist für die moderne Webentwicklung geeignet und wird in großen Websites häufig verwendet. 3) PHP ist leicht zu erlernen und der Server funktioniert gut, aber das Typsystem ist nicht so streng wie statische Sprachen. 4) PHP ist in den Bereichen Content-Management und E-Commerce immer noch wichtig, und das Ökosystem entwickelt sich weiter. 5) Optimieren Sie die Leistung über Opcache und APC und verwenden Sie OOP- und Designmuster, um die Codequalität zu verbessern.

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektanforderungen ab. 1) PHP eignet sich für Webentwicklung, leicht zu lernen, reichhaltige Community -Ressourcen, aber die Syntax ist nicht modern genug, und Leistung und Sicherheit müssen beachtet werden. 2) Python eignet sich für Datenwissenschaft und maschinelles Lernen mit prägnanter Syntax und leicht zu erlernen. Es gibt jedoch Engpässe bei der Ausführungsgeschwindigkeit und des Speichermanagements.

PHP wird verwendet, um dynamische Websites zu erstellen. Zu den Kernfunktionen gehören: 1. Dynamische Inhalte generieren und Webseiten in Echtzeit generieren, indem Sie eine Verbindung mit der Datenbank herstellen; 2. Verarbeiten Sie Benutzerinteraktions- und Formulareinreichungen, überprüfen Sie Eingaben und reagieren Sie auf Operationen. 3. Verwalten Sie Sitzungen und Benutzerauthentifizierung, um eine personalisierte Erfahrung zu bieten. 4. Optimieren Sie die Leistung und befolgen Sie die Best Practices, um die Effizienz und Sicherheit der Website zu verbessern.

PHP verwendet MySQLI- und PDO-Erweiterungen, um in Datenbankvorgängen und serverseitiger Logikverarbeitung zu interagieren und die serverseitige Logik durch Funktionen wie Sitzungsverwaltung zu verarbeiten. 1) Verwenden Sie MySQLI oder PDO, um eine Verbindung zur Datenbank herzustellen und SQL -Abfragen auszuführen. 2) Behandeln Sie HTTP -Anforderungen und Benutzerstatus über Sitzungsverwaltung und andere Funktionen. 3) Verwenden Sie Transaktionen, um die Atomizität von Datenbankvorgängen sicherzustellen. 4) Verhindern Sie die SQL -Injektion, verwenden Sie Ausnahmebehandlung und Schließen von Verbindungen zum Debuggen. 5) Optimieren Sie die Leistung durch Indexierung und Cache, schreiben Sie hochlesbarer Code und führen Sie die Fehlerbehandlung durch.

Die Verwendung von Vorverarbeitungsanweisungen und PDO in PHP kann SQL -Injektionsangriffe effektiv verhindern. 1) Verwenden Sie PDO, um eine Verbindung zur Datenbank herzustellen und den Fehlermodus festzulegen. 2) Erstellen Sie Vorverarbeitungsanweisungen über die Vorbereitungsmethode und übergeben Sie Daten mit Platzhaltern und führen Sie Methoden aus. 3) Abfrageergebnisse verarbeiten und die Sicherheit und Leistung des Codes sicherstellen.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

Dreamweaver CS6
Visuelle Webentwicklungstools

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.