Detaillierte Erläuterung regulärer Ausdrücke
Die Sprache für reguläre Ausdrücke besteht aus zwei grundlegenden Zeichentypen: wörtliche (normale) Textzeichen und Metazeichen.
Verwandte Empfehlungen:Metazeichen verfügt über Verarbeitungsfunktionen mithilfe regulärer Ausdrücke. Metazeichen können jedes einzelne Zeichen sein, das in
1. Syntax-Tutorial für reguläre Ausdrücke (einschließlich Online-Testtools)
2. Schnellstart-Video-Tutorial für reguläre Ausdrücke 🎜>
platziert ist ([ ]
bedeutet beispielsweise, dass ein einzelnes Kleinbuchstabe [a]
zutrifft), oder es kann eine Folge von Zeichen sein (wie a
bedeutet, dass es mit einem beliebigen Zeichen zwischen Zeichen und [a-d]
alle englischen Buchstaben, Zahlen und Unterstriche darstellt), sind gängige Metazeichen wie folgt: a 、b、 c、 d
w
Gemeinsame Metazeichen
Beschreibung | Besondere Anweisungen | ||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
. |
Entspricht jedem Zeichen außer Newline () |
~ | |||||||||||||||||||||||||||||||||||||||||||||
[abcde] |
Entspricht jedem Zeichen in a b c d e
|
Alle Zeichen sind oder
|
|||||||||||||||||||||||||||||||||||||||||||||
[a-h] |
Entspricht einem beliebigen Zeichen zwischen und h
|
~ | |||||||||||||||||||||||||||||||||||||||||||||
[^fgh] |
stimmt mit keinem Zeichen in fgh überein. |
Fügen Sie ^ hinzu > vor dem ersten Zeichen der Klammer
stimmt mit keinem Zeichen überein, das innerhalb der Klammer erscheint |
|||||||||||||||||||||||||||||||||||||||||||||
td> Entspricht englischen Groß- und Kleinbuchstaben, jeder Zahl zwischen 0 und 9 und Unterstrichen, entsprechend |
[a- zA-Z0-9_]
~ td> | | |||||||||||||||||||||||||||||||||||||||||||||
W |
& Im Gegenteil, äquivalent zu [^a-zA-Z0-9_]
|
~ | |||||||||||||||||||||||||||||||||||||||||||||
s code> |
entspricht jedem Leerzeichen, äquivalent zu [fnrtv]
|
~ | |||||||||||||||||||||||||||||||||||||||||||||
S | ist das Gegenteil von s, entspricht [^s]
|
~ | |||||||||||||||||||||||||||||||||||||||||||||
d |
Entspricht einer beliebigen einzelnen Zahl zwischen 0 und 9, entspricht [0-9] |
~ | |||||||||||||||||||||||||||||||||||||||||||||
D |
ist das Gegenteil von d , äquivalent zu [^0-9]
| ~ | |||||||||||||||||||||||||||||||||||||||||||||
[u4e00-u9fa5] |
Entspricht einem beliebigen chinesischen Zeichen (Chinesisch) (hier werden die durch die Unicode -Codierung dargestellten chinesischen Zeichen verwendet)
|
~ | |||||||||||||||||||||||||||||||||||||||||||||
b |
Passen Sie den Anfang oder das Ende eines Wortes an | ~ | |||||||||||||||||||||||||||||||||||||||||||||
^
| Der Anfang der passenden Zeichenfolgewird vor dem ersten Zeichen der eckigen Klammern platziert und wird umgekehrt | ||||||||||||||||||||||||||||||||||||||||||||||
$ | Übereinstimmung mit dem Ende der Zeichenfolge | ~ |
- Funktion: Begrenzen Sie die Häufigkeit des Vorkommens der Einheit vor diesem Symbol.
- Einheit:
-Einheitn
Wenn wir Klammern verwenden, um eine lange Zeichenfolge einzufügen, werden die gesamten Klammern als
字符 | 描述 | 特别说明 |
---|---|---|
* |
匹配 0 到 多 个元字符,相当于 {0,}
|
~ |
? |
匹配 0 到 1 个元字符, 相当于 {0,1}
|
~ |
+ |
匹配至少 1 个元字符,相当于 {1,}
|
~ |
{n} |
匹配 n 个元字符 | ~ |
{n,} |
匹配至少 n 个元字符 | ~ |
{n,m} |
匹配 n 到 m 个元字符 | ~ |
b |
匹配单词边界 | ~ |
^ |
字符串必须以指定的字符开始 | ~ |
$ |
字符串必须以指定的字符结束 | ~ |
Erklärung – Sonderfall
- kann mehrere Metazeichen oder wörtliche Textzeichen mit -Klammern einschließen, um ein
分组
zu bilden, zum Beispiel steht^(13)[4-9]d{8}$
für jedes Zeichen, das mit beginnt 13 Mobiltelefonnummer beginnend mit.-
abcabcabc+
bedeutet, dass der letzte Buchstabec
mindestens einmal vorkommt; -
(abcabcabc)+
bedeutet, dass die gesamte Zeichenfolgeabcabcabc
mindestens einmal vorkommt.
-
- Sie können
|
verwenden, um die Beziehung zwischen或
darzustellen. Beispielsweise bedeutetz|j|q
, dass mit jedem Buchstaben inz 、j、q
übereinstimmt. Tatsächlich entspricht es[zjq]
.-
ab|cd|ef
bedeutet: entwederab
,cd
oderef
. -
a(b|cd|e)f
bedeutet: beginnend mita
, entwederb
,cd
odere
, und schließlich enden mitf
. - Zusammenfassung: Die einzige Grenze von
|
(或
) sind die Klammern (( )
)
-
-
[0-9A-Z.?]
Dies regelmäßig Wie verstehst du?- Wenn
.
und?
in eckigen Klammern erscheinen, werden.
und?
zu normalen Zeichen, also Punkt und Fragezeichen. Sie können verstehen, dass die Priorität von[ ]
größer ist als die Priorität von. 和 ?
. - Dieser reguläre Ausdruck stimmt genau mit der Zeichenfolge
?aaa.bbb
überein. Denken Sie daran, dass. 和 ?
hier als normales Zeichen behandelt wird.
- Wenn
Erweitert 1 – Mehrfachauswahlstruktur
Mehrfachauswahlstruktur ist eigentlich die Verwendung von Metazeichen |
(oder).
Bereich definieren: Anfang, Ende, Klammern
Regular | Bedeutung | ||||||||
---|---|---|---|---|---|---|---|---|---|
Windows98|Windows2000|WindowsXP |
entspricht Windows98 oder Windows2000 oder WindowsXP |
||||||||
^Windows98|Windows2000|WindowsXP$ |
Verwenden Sie Windows98-Code > beginnt entweder mit <code>Windows2000 oder endet mit WindowsXP
^ und $ beide im Geltungsbereich von enthalten sind, weil sind nur: Anfang, Ende, Klammern
|
||||||||
Windows(98|2000|XP) |
Windows , dann 98 oder 2000 oder XP
|
Zusammenfassung: Die Mehrfachauswahlstruktur kann viele Zeichen umfassen, aber die Grenzen von 括号
nicht überschreiten.
Erweitert 2 – Gruppierung und Rückverweise
Gruppierung
- Wir wissen bereits, wie man ein einzelnes Zeichen wiederholt. Was soll ich tun, wenn ich es wiederholen möchte? eine Schnur? Sie können Unterausdrücke (auch Gruppierungen genannt)
- mithilfe von Klammern angeben. Einfacher IP-Adress-Übereinstimmungsausdruck
-
(d{1,3}.){3}d{1,3}
, aber es wird auch die unmögliche IP-Adresse 256.300.888.999 - abgeglichen. Können Sie einen genaueren regulären Ausdruck schreiben? Übereinstimmung Der Text dieses Unterausdrucks kann von zur weiteren Verarbeitung innerhalb des Ausdrucks oder anderer Programme erfasst werden.
- Standardmäßig hat jede Gruppe automatisch eine Gruppennummer. Die Regeln lauten:
((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?)
Mit dem der Gruppe als Markierung ist die Gruppennummer der ersten Gruppe von links nach rechts 1. Der zweite ist 2 und so weiter
- Beispiel: kann verwendet werden, um wiederholte Wörter zuzuordnen.
- entspricht beispielsweise:
左括号
Einfache Erklärung: In regulären Ausdrücken werden Klammern verwendet, um die Vorderseite zu unterteilen (gruppieren), und dann wird der durch die Klammern übereinstimmende Inhalt
in Anführungszeichen gesetzt- Später werden sie durch
- ,
b(w+)bs+1b
usw. dargestellt. (Die erste Klammer ist ...). Wenn Klammern in Klammern - verschachtelt sind, denken Sie daran: Verwenden Sie zu diesem Zeitpunkt
where where go, tom tom happy
als Markierung und zählen Sie die Klammern einfach von links nach rechts.
Umsehen stimmt mit keinem Zeichen überein, sondern nur mit der
spezifischen Position im Text. Ähnlich wie , 1
, 2
. 1
Umschauen beansprucht keine Zeichen. (w+(.?))
(
Bestellung
und- umgekehrte Reihenfolge
- : Bestellung
b
^
$
hinter der Position kann mit übereinstimmen. Beispiel: - Rechts von der aktuellen Position stehen Zahlen. hinter der Position kann nicht übereinstimmen
- . Beispiel:
- Die rechte Seite der aktuellen Position ist keine Zahl.
-
(?=exp)
In umgekehrter Reihenfolgeexp
(?=d)
- vor der Position kann
(?!exp)
übereinstimmen. Beispiel: Die linke Seite der aktuellen Position ist die Zahlexp
(?!d)
. Das
-
- übereinstimmen. Beispiel:
- Die linke Seite der aktuellen Position ist keine Zahl.
-
(?<=exp)
exp
(?<=d)
Fortgeschritten 4 – Gier und Faulheit -
(?<!exp)
Wenn der reguläre Ausdruck einen Quantifizierer enthält, der Wiederholungen akzeptiert Das übliche Verhalten vonexp
besteht darin, so viele Zeichen(?!d)
wie möglich zu finden.
, der mit der längsten Zeichenfolge übereinstimmt, die mit -
endet. Wenn Sie damit nach - . Beispiel:
gefunden, die als -------
Greedy Matching-
-Wir benötigen
+
Lazy Matching*
, d >. Auf diese Weise bedeutet{3,12}
, dass eine beliebige Anzahl von Wiederholungen abgeglichen wird, aber die wenigsten Wiederholungen von verwendet werden, die das gesamte -Match erfolgreich machen. -
a.*b
entspricht der kürzesten Zeichenfolge, die mita
beginnt und mitb
endet. Wenn Sie es aufaabab
anwenden, stimmt es mitaabab
und überein. - Zusammenfassung:
-
Der Unterschied zwischen Greedy- und Lazy-Modus ist: Lazy-Modus hat ein zusätzliches Fragezeichen nach dem Quantifizierer
?
..*?
Fortgeschritten 5 – Priorität des Mustervergleichs - Bei der Verwendung regulärer Ausdrücke müssen Sie auf die Reihenfolge des Vergleichs achten. Normalerweise wird die gleiche Priorität
a.*?b
von links nach rechtsa
berechnet, und Vorgänge mit unterschiedlichen Prioritäten sindb
zuerst hoch und dann niedrigaabab
. Die übereinstimmende Reihenfolgenpriorität verschiedener Operatorenaab
reicht von hoch nach niedrigab
, wie in der folgenden Tabelle dargestellt. - Die für den Ausdruck erforderliche Regel lautet:
$
- Verwenden Sie einfache Anführungszeichen, um die obige Zeichenfolge darzustellen
'/\$/'
. (Zur einfacheren Anzeige teilen wir es in'/\ \ \ $/'
auf.) - Verwenden Sie doppelte Anführungszeichen, um die obige Zeichenfolge darzustellen
"/\$/"
. (Zur besseren Übersicht haben wir es in"/\ \ \ $/"
aufgeteilt) - Was fragen Sie?
顺序 | 元字符 | 描述 |
---|---|---|
1 |
|
转义字符 |
2 |
() 、(?:) 、(?=) 、[]
|
模式单元和原子表 |
3 |
* 、+ 、? 、{n} 、{n,} 、{n,m}
|
重复匹配 |
4 |
^ 、$ 、b 、B 、A 、Z
|
边界限制 |
5 | | |
模式选择 |
Beispiel
1. Zeichen-Escape
1F: Wie soll ich den regulären Ausdruck schreiben, damit er mit dem 33333333333
in der Zeichenfolge $
übereinstimmt?
2Q: Wenn die Funktion preg_match
in PHP die Ausdrücke einfache Anführungszeichen bzw. doppelte Anführungszeichen verwendet, um mit dem obigen $
übereinzustimmen, wie schreibt man das?
Antwort:
Eine andere Antwort:
- Einfache Anführungszeichen in PHP maskieren keine Zeichen, aber nur
wird maskiert, wir brauchen also 6
um Ausdrücke zu generieren.
Zusätzlich zum Escapezeichen
benötigen doppelte Anführungszeichen auch ein weiteres
zum Escapezeichen
$
, daher sind 7erforderlich.
Verwandte Tutorial-Empfehlungen: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung 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



Ü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

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.

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.

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. 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.

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.

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

PHP ist eine weit verbreitete Programmiersprache, die besonders im Bereich der Webentwicklung beliebt ist. Im Prozess der Webentwicklung stoßen wir häufig auf die Notwendigkeit, die vom Benutzer eingegebenen Texte zu filtern und zu überprüfen, wobei die Zeichenfilterung ein sehr wichtiger Vorgang ist. In diesem Artikel wird erläutert, wie reguläre Ausdrücke in PHP zum Implementieren der Filterung chinesischer Zeichen verwendet werden, und es werden spezifische Codebeispiele aufgeführt. Zunächst müssen wir klarstellen, dass der Unicode-Bereich chinesischer Schriftzeichen von u4e00 bis u9fa5 reicht, d. h. alle chinesischen Schriftzeichen liegen in diesem Bereich.
