Lernen Sie die Grundlagen regulärer Ausdrücke
In diesem Artikel geht es um die Grundlagen von regulären Ausdrücken von JavaScript. Wenn Sie mit regulären Ausdrücken in JavaScript nicht vertraut sind, können Sie einfach vorbeikommen und sich mit den Grundlagen befassen von JavaScript – für diejenigen, die damit nicht vertraut sind, schauen wir uns das gemeinsam an!
Regulärer AusdruckLernen (kontinuierlich aktualisiert)
Heute habe ich das RegExp-Objekt gelernt, als ich Javascript Ich habe die Gelegenheit genutzt, reguläre Ausdrücke zu lernen. Ich war noch nie zuvor mit ihnen in Kontakt gekommen, also habe ich die Gelegenheit genutzt, sie zu lernen.
Referenz-Website:30-minütiges Einführungs-Tutorial zu regulären AusdrückenKlicken Sie hier, um den Link zu öffnen
1. Was ist ein regulärer Ausdruck?
Reguläre Ausdrücke werden verwendet, um Regeln für den Abgleich vonZeichenfolgen auszudrücken.
2. Verwandte Konzepte regulärer Ausdrücke
2.1Metazeichen
Metazeichen werden in regulären Ausdrücken angegeben. Ein spezielles Symbol wird hinzugefügt reguläre Ausdrücke, um bestimmte Regeln zu ersetzen.+ | bedeutet eine beliebige Anzahl des Zeichens, das vor + erscheint, z. B. ein+, bedeutet, dass es eine beliebige Anzahl von Zeichen gibt davor a (einmal oder mehrmals wiederholen)
|
+ | 表示+前面出现的任意个数的该字符,例如a+,表示前面有任意个数的a(重复1次或多次) |
? | 重复0或1次 |
{n} | 重复n次 |
{n, } | 重复大于等于n次 |
{n, m} | 重复n到m次 |
d | 表示一个0-9的数字 |
^ | 匹配字符串的开始 |
& | 匹配字符串的结束 |
3. Einfache reguläre Ausdrücke
Beginnen Sie direkt mit dem Beispiel:
Beispiel 1: Wenn ich das Wort Hallo abgleichen möchte, wird der reguläre Ausdruck geschrieben (Übereinstimmungsregel) lautet: hello
Dadurch werden alle Wörter abgeglichen, die hallo enthalten, z. B.: helloworld wird ebenfalls abgeglichen, aber wenn Sie nur hallo abgleichen möchten, dann brauchen Sie Um das Metazeichen b zu verwenden, um „Hallo“ vorher und nachher zu trennen und ein separates Wort „Hallo“ zu bilden, , dann sollte der reguläre Ausdruck lauten: bhellob
Beispiel 2: Wann Sie möchten Wenn auf das gesuchte „Hallo“ ein „Welt“-Zeichen folgt, sollten Sie die Metazeichen „bhellob.*worldb“ verwenden > Beispiel 3: Wenn Sie Telefonnummern wie 021-xxxxxxx zuordnen möchten, sollten Sie 021-ddddddd verwenden, wobei „021-
“ ein einfaches Zeichen ist, das keines darstellt besondere Bedeutung und Folgendes: Das verwendete d ist ein Metazeichen. Dieser reguläre Ausdruck kann als 021-d{7} abgekürzt werden, was bedeutet, dass d siebenmal wiederholt wird.Beispiel 4: Ordnen Sie eine oder mehrere aufeinanderfolgende Zahlen zu, d+
Beispiel 5: Ordnen Sie Wörter zu, die mit a, baw*b beginnenBeispiel 6: Übereinstimmung mit 5-12-stelliger QQ-Nummer, ^d{5, 12}&
4. Zeichen-Escape
Wenn die Zeichenfolge, die Sie suchen möchten, Metazeichen enthält, müssen Sie diese vor den Metazeichen hinzufügen, um die Metazeichen in normale Zeichen umzuwandeln.
5. Zeichenklasse
Das in diesem Teil gelöste Problem besteht darin, was zu tun ist, wenn die Zeichen, die Sie abgleichen möchten, keine entsprechenden Metazeichen haben, dann wir Sie müssen manuell eine Zeichenklasse erstellen.
Wenn es beispielsweise kein d gibt, das mit der Zahl 0-9 übereinstimmt, können wir, wenn wir eine beliebige Zahl von 0-9 finden möchten, eine [0-9]-Zeichenklasse erstellen, die genauso funktioniert t gleich. Zum Beispiel können reguläre Ausdrücke (?0d{2}[), -]?d{8} verwendet werden, um Telefonnummern abzugleichen. Bitte erklären Sie der Reihe nach:
(steht für Escapezeichen (,
?bedeutet, dass es 0 oder 1 Mal wiederholt wird,
dbedeutet zwei Zahlen, [), -] bedeutet die Zeichenklasse von ) und -, ? bedeutet, dass es 0 oder 1 Mal wiederholt wird, gefolgt von 8 Zahlen. 6. Verzweigungsbedingungen Was oben geschrieben steht
(?0d{2}[), -]?d{8} ist wie Diese regulären Ausdrücke stimmen möglicherweise mit falschen Zeichenfolgen wie (01012345678 oder (010-12345678) überein. In solchen Fällen können Sie Verzweigungsbedingungen verwenden. Die Verzweigungsbedingungen ähneln dem logischen oder || in js und sind alle kurzgeschlossenOperator , endet, wenn eine Bedingung von links nach rechts beurteilt werden kann
Für die obige Situation kann sie als (0d{2})d{8 geschrieben werden }. |0d{2}-d{8}|(0d{2})d{8}
7 Dieser Teil Um das Problem der Wiederholung nicht eines einzelnen Zeichens, sondern mehrerer Zeichen zu lösen, können wir bei der Wiederholung eines einzelnen Zeichens das Qualifikationsmerkmal in Zeichen + Metazeichen verwenden. Wenn jedoch mehrere sich wiederholende Zeichen vorhanden sind, können wir diese zusätzlich hinzufügen sich wiederholende Zeichen. (). Zum Beispiel kann der folgende reguläre Ausdruck verwendet werden, um die IP-Adresse darzustellen: )
8. Antonym
Wenn Sie Zeichen finden müssen, die nicht einfach definiert werden können, z. B. andere Zeichen als xxx, müssen Sie das Antonym verwenden
W |
|
||||||||||||
D | Entspricht jedem Zeichen, das keine Zahl ist | ||||||||||||
B | Entspricht jedem Zeichen, das nicht der Anfang oder das Ende eines Wortes ist | ||||||||||||
S | Entspricht jedem Zeichen, das kein Leerzeichen ist | ||||||||||||
[^x] | Entspricht allem außer x Zeichen außer aeiou | ||||||||||||
[^aeiou] | Entspricht anderen Zeichen als aeiou |
9.Rückverweis
Der Inhalt dieses Teils stimmt mit der vorherigen Gruppierung überein, wenn wir () verwenden. Um Zeichen zu gruppieren, können wir uns später weiterhin auf diese Gruppierung durch Nummerierung beziehen. Bei der Gruppierung nach () beginnt die Gruppierung bei 1 in der Reihenfolge des Auftretens von (. Beispielsweise kann der reguläre Ausdruck b(w+)s+1b verwendet werden Um wiederholte Vorkommen abzugleichen, beziehen sich Wörter wie „go go“ usw. hier auf die zuvor vorkommende Gruppierung bis 1.
Weitere beteiligte Rückreferenzsyntaxen sind:
(exp) | 匹配exp,并捕获当前内容到自动的分组里 |
(? |
匹配exp,并捕获当前内容并分配组名为name |
(?:exp) | 匹配exp,不为捕获的内容分配组名 |
10. Die Behauptung mit der Breite Null
wird verwendet, um den Teil vor oder nach einem bestimmten Teil des Inhalts zu finden, schließt den Inhalt jedoch nicht ein.
Regulärer Ausdruck (?=exp) bedeutet zu behaupten, dass der später erscheinende Teil mit dem Ausdruck exp übereinstimmen kann. Beispielsweise entspricht bw+(?=ingb) dem vorderen Teil von Wörtern, die mit ing enden. Wenn Sie beispielsweise nach „Ich tanze und singe“ suchen, werden Tanz und Gesang abgeglichen (da w+ vorhanden ist, wird es nicht als s abgeglichen).
Regulärer Ausdruck (?<=exp) bedeutet zu behaupten, dass der vorherige Teil mit dem Ausdruck exp übereinstimmen kann. Beispielsweise wird (?<=bre)w+b mit der zweiten Hälfte des Wortes übereinstimmen, das mit re beginnt. Bei der Suche nach „Lesen“ wird beispielsweise „ading“ gefunden .
Wenn Sie an alle drei Ziffern einer sehr langen Zahl ein Komma hinzufügen möchten, z. B. an 123456789, können Sie den regulären Ausdruck ((?<=d) verwenden )d{3 })+b, das Suchergebnis ist 234567890 (Ich verstehe diesen Teil der Suchregeln nicht...)
Das folgende Beispiel verwendet zwei Behauptungen gleichzeitig Gleichzeitig wird (?=
Im Allgemeinen besteht der Zweck der Nullbreitenbehauptung darin, den Start- oder Endpunkt übereinstimmender Zeichen gemäß bestimmten Regeln zu bestimmen.
11. Negative Nullbreitenbehauptung
Wie bereits erwähnt, verwenden Sie Antonyme, um Zeichen zu finden, die kein bestimmtes Zeichen sind oder sind nicht in einem bestimmten Zeichen.
Wenn Sie beispielsweise ein Wort finden möchten, bei dem der Buchstabe q vorkommt, aber nicht von u gefolgt wird. Sie könnten bq[^u]w*b schreiben. Bei einem solchen Ausdruck tritt jedoch ein Fehler auf, wenn q am Ende eines Wortes erscheint, da [^u] mit dem Trennzeichen des Wortes übereinstimmt, das dann mit dem nächsten Wort übereinstimmt, das mit Zeichen wie „Kämpfen im Irak“ übereinstimmt . Zeichenfolge.
Um das Antonymbelegungsproblem zu lösen, können wir eine negative Nullbreitenbehauptung verwenden, da sie nur mit einer Position übereinstimmt und keine Zeichen verbraucht. Der obige Ausdruck kann als bq(?!u)w*b geschrieben werden.
Ebenso verwenden wir (?
Ein komplexeres Beispiel: (?<=<(w+)>).*(?=1>)
Wenn Sie das vorherige (?<=) und das folgende (?=) sehen, wissen Sie, dass sowohl die Vorder- als auch die Rückseite Behauptungen mit der Breite Null sind und < ;(w+)> stellt das HTML-Tag dar. Wenn das vorherige
12. Kommentare
Kommentare durch die Syntax enthalten (?#comment), Beispiel: 2[0-4]d(?#200-249).
13. Gier und Faulheit
Bei Problemen mit der Zeichenfolgenübereinstimmung besteht das übliche Verhalten darin, so viele Zeichen wie möglich abzugleichen. Am Beispiel des Ausdrucks a.*b und der Zeichenfolge aabab wird aabab statt ab abgeglichen. Diese Matching-Regel wird als Greedy-Matching bezeichnet.
Manchmal müssen wir Lazy Matching mit so wenigen Zeichen wie möglich abgleichen. Müssen wir es in diesem Fall nach dem oben genannten Qualifikationsmerkmal hinzufügen? B. a.*?b konvertiert den gierigen Vergleich in einen verzögerten Vergleich. Zu diesem Zeitpunkt werden aab (Zeichen 1–3) und ab (Zeichen 4–5) abgeglichen (der spezifische Grund liegt in den Übereinstimmungsregeln regulärer Ausdrücke). .
14. Verarbeitungsoptionen
Ähnlich wie bei der Flagge in js gibt es Groß-/Kleinschreibung, Mehrzeilenmodus, globalen Modus usw.
15. Ausgeglichenes Gruppen-/rekursives Matching
In diesem Teil geht es um das Matching-Problem, wenn Sie beispielsweise den mathematischen Ausdruck ( 5*3))) (5*3) kann nicht einfach als (.*) geschrieben werden, da dies mit dem gesamten Ausdruck übereinstimmt. Dann ist die Matching-Strategie, die wir anwenden sollten, dem von uns gelernten Klammer-Matching-Problem ähnlich. Verwenden Sie den Stapel, um ihn zu lösen. Wenn der letzte Stapel leer ist, bedeutet dies, dass er auf den Stapel stößt Klammern im Ausdruck stimmen vollständig überein. Wenn sie nicht leer sind, führt die Regex-Engine einen Backtrack aus, um sicherzustellen, dass die Klammern übereinstimmen.
Verwandte Empfehlungen:
Wie man reguläre Ausdrücke in JS verwendet
Das obige ist der detaillierte Inhalt vonLernen Sie die Grundlagen regulärer Ausdrücke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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

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

PHP ist eine weit verbreitete serverseitige Open-Source-Skriptsprache, die alle Aufgaben in der Webentwicklung bewältigen kann. PHP wird in der Webentwicklung häufig verwendet, insbesondere wegen seiner hervorragenden Leistung bei der dynamischen Datenverarbeitung, weshalb es von vielen Entwicklern geliebt und verwendet wird. In diesem Artikel erklären wir Ihnen Schritt für Schritt die Grundlagen von PHP, um Anfängern den Einstieg bis zum Erlernen von PHP-Kenntnissen zu erleichtern. 1. Grundlegende Syntax PHP ist eine interpretierte Sprache, deren Code HTML, CSS und JavaScript ähnelt. Jede PHP-Anweisung endet mit einem Semikolon

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.

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.

Python ist als High-Level-Programmiersprache einfach zu erlernen und zu verwenden. Sobald Sie ein Python-Programm schreiben müssen, werden Sie unweigerlich auf Syntaxfehler stoßen, und Fehler in der Ausdruckssyntax kommen häufig vor. In diesem Artikel besprechen wir, wie Fehler in der Ausdruckssyntax in Python behoben werden. Fehler in der Ausdruckssyntax gehören zu den häufigsten Fehlern in Python und werden normalerweise durch eine falsche Verwendung der Syntax oder das Fehlen notwendiger Komponenten verursacht. In Python bestehen Ausdrücke normalerweise aus Zahlen, Zeichenfolgen, Variablen und Operatoren. am häufigsten

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

Die Go-Sprache ist eine von Google entwickelte statisch typisierte, kompilierte Sprache. Ihre prägnanten und effizienten Funktionen haben bei Entwicklern große Aufmerksamkeit und Begeisterung erregt. Beim Erlernen der Go-Sprache ist die Beherrschung der Grundkenntnisse über Variablen ein entscheidender Schritt. In diesem Artikel werden grundlegende Kenntnisse wie die Definition, Zuweisung und Typinferenz von Variablen in der Go-Sprache anhand spezifischer Codebeispiele erläutert, um den Lesern zu helfen, diese Wissenspunkte besser zu verstehen und zu beherrschen. In der Go-Sprache können Sie das Schlüsselwort var verwenden, um eine Variable zu definieren. Dies ist das Format des Variablennamens des Variablentyps var.
