PHP-regulärer Ausdruck
Dieser Artikel stellt reguläre Ausdrücke in PHP vor, die einen gewissen Referenzwert haben. Jetzt können Freunde in Not darauf verweisen
Regulärer Ausdruck ist eine grammatikalische Regel, die das Ergebnis einer Zeichenfolge beschreibt. Es handelt sich um ein bestimmtes Formatierungsmuster, das übereinstimmende Zeichenfolgen abgleichen, ersetzen und abfangen kann. Häufig verwendete Sprachen verfügen grundsätzlich über reguläre Ausdrücke wie JavaScript, Java usw. Solange Sie den regulären Gebrauch einer Sprache verstehen, ist es tatsächlich relativ einfach, die regulären Regeln anderer Sprachen zu verwenden. Okay, fangen wir an, regelmäßige Regeln zu schreiben.
Verwandte Empfehlungen:
1. Lernprogramm zur regulären Ausdruckssyntax (einschließlich Online-Testtools)
2. PHP-Schnellstart-Video-Lernprogramm
Wenn reguläre Ausdrücke mit Zeichenfolgen übereinstimmen, folgen sie den folgenden zwei Grundprinzipien:
1 Das Prinzip ganz links: Reguläre Ausdrücke beginnen immer an der Zielzeichenfolge. Beginnend an der Position ganz links. Der Abgleich wird sequentiell durchgeführt, bis der Teil, der die Anforderungen des Ausdrucks erfüllt, abgeglichen wird, oder bis das Ende der Zielzeichenfolge abgeglichen wird.
2. Das längste Prinzip: Für die übereinstimmende Zielzeichenfolge stimmt der reguläre Ausdruck immer mit dem längsten Teil überein, der die Anforderungen des regulären Ausdrucks erfüllt.
Na und ? Beginnen Sie zunächst mit dem Trennzeichen, das üblicherweise zum Einfügen von /;# verwendet wird und den Anfang einer Reihe regulärer Ausdrücke anzeigt. Zum Beispiel: „/a.*a/“. Wenn der Ausdruck zu viele Escape-Zeichen enthält, wird empfohlen, zuerst # zu verwenden, z. B. url;
$str = 'http://baidu.com'; $pattern = '/http:\/\/.*com/';//需要转义/ preg_match($pattern,$str,$match); var_dump( $match);
$str = 'http://baidu.com'; $pattern = '#http://.*com#';//不需要转义/ preg_match($pattern,$str,$match); var_dump( $match);
Da Sie nun wissen, wie man den Anfang und das Ende schreibt, besteht der nächste Schritt darin, die Mitte zu beurteilen. Reguläre Ausdrücke werden mithilfe von Atomen und Metazeichen von links nach rechts gespleißt.
Zum Beispiel „zxcv“, bei Übereinstimmung „/.*/“, wobei .* zxcv darstellt.
Was sind also die gemeinsamen Atome und Metazeichen?
• d entspricht einem numerischen Zeichen. Entspricht [0-9].
• D entspricht einem nicht numerischen Zeichen. Entspricht [^0-9].
• f entspricht einem Formularvorschub. Entspricht x0c und cL.
• n entspricht einem Zeilenumbruchzeichen. Entspricht x0a und cJ.
• r entspricht einem Wagenrücklaufzeichen. Entspricht x0d und cM.
• s entspricht jedem Leerzeichen, einschließlich Leerzeichen, Tabulatoren, Formularvorschüben usw. Entspricht [fnrtv].
• S entspricht jedem Zeichen, das kein Leerzeichen ist. Entspricht [^ fnrtv].
• t entspricht einem Tabulatorzeichen. Entspricht x09 und cI.
• v entspricht einem vertikalen Tabulatorzeichen. Entspricht x0b und cK.
• w entspricht jedem Wortzeichen, einschließlich eines Unterstrichs. Entspricht „[A-Za-z0-9_]“.
• W entspricht jedem Nicht-Wort-Zeichen. Entspricht „[^A-Za-z0-9_]“.
• xn entspricht n, wobei n der hexadezimale Escape-Wert ist. Der hexadezimale Escape-Wert muss genau zwei Ziffern lang sein. Beispielsweise entspricht „x41“ „A“. „x041“ entspricht „x04“ und „1“. Die ASCII-Kodierung kann in regulären Ausdrücken verwendet werden.
• nm identifiziert einen oktalen Escape-Wert oder eine Rückreferenz. nm ist eine Rückwärtsreferenz, wenn vor nm mindestens nm erhältliche Unterausdrücke stehen. Wenn vor nm mindestens n steht, dann ist n eine Rückwärtsreferenz, gefolgt vom Literal m. Wenn keine der vorherigen Bedingungen erfüllt ist, stimmt • nm mit dem oktalen Escape-Wert nm überein, wenn n und m beide Oktalziffern (0-7) sind.
• nmlWenn n eine Oktalzahl (0-3) ist und m und l beide Oktalzahlen (0-7) sind, dann Übereinstimmung mit dem oktalen Escape-Wert nml.
• un Unicode-Zeichen, dargestellt durch eine Hexadezimalzahl. Beispielsweise entspricht u00A9 dem Copyright-Symbol (?).
• . Entspricht jedem einzelnen Zeichen außer „n“
• ^ Entspricht dem Beginn der Eingabezeichenfolge. Im Zeichenfeld [] bedeutet es Negation, z. B. „[^w]“ ist gleich „w“ und ^w bedeutet, mit einem Wortzeichen zu beginnen.
• $ Entspricht der Endposition der Eingabezeichenfolge. „w$“ bedeutet beispielsweise, dass es mit einem Wortzeichen endet.
• ? Entspricht dem vorhergehenden Unterausdruck nullmal oder einmal , was äquivalent zu {0,1} ist, zum Beispiel kann „do(es)?“ mit „do“ oder „does“ übereinstimmen.
• * Entspricht dem vorherigen Unterausdruck null oder mehrmals , entspricht {0,}. Beispielsweise stimmt zo* mit „z“, „zo“, „zoo“ überein.
• + Entspricht dem vorherigen Unterausdruck einmal oder mehrmals, entspricht {1,}. Beispielsweise kann „zo+“ mit „zo“ und „zoo“ übereinstimmen.
• {n} n ist eine nicht negative ganze Zahl, die n-mal übereinstimmt. Beispielsweise stimmt „o{2}“ nicht mit „Bob“ oder „Booob“ überein, wohl aber mit den beiden o in „food“.
• {n,} n ist eine nicht negative ganze Zahl. Passt mindestens n-mal zusammen. Beispielsweise stimmt „o{2,}“ nicht mit dem „o“ in „Bob“ überein, stimmt aber mit allen o in „foooood“ überein. 'o{1,}' ist äquivalent zu 'o+'. 'o{0,}' ist äquivalent zu 'o*'.
• {n,m} m und n sind beide nicht negative ganze Zahlen, wobei n <= m. Übereinstimmung mindestens n-mal und höchstens m-mal. Beispielsweise entspricht „o{1,3}“ den ersten drei o in „fooooood“. „o{0,1}“ ist äquivalent zu „o?“. Bitte beachten Sie, dass zwischen dem Komma und den beiden Zahlen kein Leerzeichen stehen darf.
• [] Zeichensatz (Zeichenfeld). Entspricht einem der enthaltenen Zeichen. Beispielsweise entspricht „[abc]“ dem Wort „a“ in „plain“.
• () Passen Sie den Inhalt in () an und erhalten Sie diese Übereinstimmung. Mit n (n ist eine Ganzzahl größer als 1) entspricht „http://baidu.com“ „http://baidu.comhttp“,1, wenn der Ausdruck: „(w+) (:)//.*1“ lautet. Stellt http dar.
• (?:) stimmt überein, erhält aber nicht das passende Ergebnis und speichert es nicht zur späteren Verwendung. Dies ist nützlich, wenn Sie das „oder“-Zeichen (|) verwenden, um Teile eines Musters zu kombinieren. Beispielsweise ist „industr(?:y|ies)“ ein kürzerer Ausdruck als „industry|industries“. Wenn der obige Ausdruck in „(?:w+)(:)//.*1“ geändert wird, wird 1 wie folgt dargestellt:
• | x|y,匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。
• [-] 字符范围。匹配指定范围内的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符。
• (?=pattern)正 向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹 配不需要获取供以后使用。例如,'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹 配的搜索,而不是从包含预查的字符之后开始。
• (?!pattern)负 向预查,在任何不匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不 需要获取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜 索,而不是从包含预查的字符之后开始
有时候最后定界符会有一个字母,如‘/as.*/i’,那这个i又是什么呢,这就是模式修正符;
i表示在和模式进行匹配进不区分大小写
m将模式视为多行,使用^和$表示任何一行都可以以正则表达式开始或结束
s如果没有使用这个模式修正符号,元字符中的"."默认不能表示换行符号,将字符串视为单行
x表示模式中的空白忽略不计
e正则表达式必须使用在preg_replace替换字符串的函数中时才可以使用(讲这个函数时再说)
A以模式字符串开头,相当于元字符^
Z以模式字符串结尾,相当于元字符$
U正则表达式的特点:就是比较“贪婪”,使用该模式修正符可以取消贪婪模式
例:
$str = 'asddadsdasd'; $pattern = '/a.*d/'; preg_match($pattern,$str,$match); var_dump($match) ;//asddadsdasd; $str = 'asddadsdasd'; $pattern = '/a.*d/U';//$pattern = '/a.*?d/'; preg_match($pattern,$str,$match); var_dump($match) ;//asd
php常用正则函数;
匹配:preg_match()与preg_match_all()
1 preg_match($pattern,$subject,[array &$matches])
2 preg_match_all($pattern,$subject,array &$matches)
1只会匹配一次,2会把所有符合的字符串都匹配出来,并且放置到matches数组中,而且这两个函数都有一个整形的返回 值。1是一维数组,2是二维数组
替换:preg_replace()
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
搜索subject中匹配pattern的部分, 以replacement进行替换。
相关推荐:
Das obige ist der detaillierte Inhalt vonPHP-regulärer Ausdruck. 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



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
