Heim > Backend-Entwicklung > PHP-Problem > Was bedeutet der reguläre PHP-Ausdruck?

Was bedeutet der reguläre PHP-Ausdruck?

青灯夜游
Freigeben: 2023-03-17 21:44:02
Original
4323 Leute haben es durchsucht

In PHP ist ein regulärer Ausdruck eine benutzerdefinierte Grammatikregel, die das Zeichenanordnungsmuster beschreibt. Es verfügt über ein sehr vollständiges Grammatiksystem, das Muster schreiben kann und eine flexible und intuitive Methode zur Zeichenfolgenverarbeitung bietet. Reguläre Ausdrücke beschreiben ein String-Matching-Muster, mit dem überprüft werden kann, ob ein String einen bestimmten Teilstring enthält, der passende Teilstring ersetzt werden kann oder ein Teilstring, der eine bestimmte Bedingung erfüllt, aus einem String extrahiert werden kann usw. warten.

Was bedeutet der reguläre PHP-Ausdruck?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP 8-Version, DELL G3-Computer

Vielleicht haben Sie schon einmal von regulären Ausdrücken gehört, und der allgemeine Eindruck ist, dass es schwer zu erlernen und sehr kompliziert ist. und hat ein Gefühl des Unergründlichen. Tatsächlich sind reguläre Ausdrücke nicht so mysteriös. Es handelt sich um eine benutzerdefinierte Grammatikregel, die das Zeichenanordnungsmuster beschreibt.

Was sind reguläre Ausdrücke? Reguläre Ausdrücke werden auch Musterausdrücke genannt. Sie verfügen über ein sehr vollständiges Grammatiksystem zum Schreiben von Mustern und bieten eine flexible und intuitive Methode zur Zeichenfolgenverarbeitung. Reguläre Ausdrücke erstellen Muster nach bestimmten Regeln, vergleichen sie mit eingegebenen Zeichenfolgeninformationen und verwenden sie in bestimmten Funktionen, um Vorgänge wie Zeichenfolgenabgleich, Suche, Ersetzung und Segmentierung durchzuführen. Um ein Beispiel aus unserem täglichen Leben zu nennen: Wenn Sie in einem bestimmten Verzeichnis auf Ihrem Computer nach allen Dateien im TXT-Format suchen möchten, können Sie *.txt in das Verzeichnis eingeben und dann die Eingabetaste drücken, um die Dateien aufzulisten Das Verzeichnis. Alle Dateien im TXT-Format. Das hier verwendete *.txt kann als einfacher regulärer Ausdruck verstanden werden.

Die folgenden zwei Beispiele werden mithilfe der Syntax regulärer Ausdrücke erstellt, wie unten gezeigt:

/http(s)?:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is      // 匹配网址 URL 的正则表达式
/^\w{3,}@([a-z]{2,7}|[0-9]{3})\.(com|cn)$/                    // 匹配邮箱地址的正则表达式
Nach dem Login kopieren

Lassen Sie sich nicht von den scheinbar verstümmelten Zeichenfolgen in den obigen Beispielen abschrecken. Sie werden gemäß den Syntaxregeln regulärer Ausdrücke A erstellt Zeichenfolge bestehend aus gewöhnlichen Zeichen und Zeichen mit Sonderfunktionen. Und diese Zeichenfolgen müssen in bestimmten regulären Ausdrucksfunktionen verwendet werden, um wirksam zu sein.


Der Zweck regulärer Ausdrücke

Reguläre Ausdrücke beschreiben ein Zeichenfolgenvergleichsmuster, mit dem überprüft werden kann, ob eine Zeichenfolge eine bestimmte Teilzeichenfolge enthält, die übereinstimmende Teilzeichenfolge ersetzt oder aus Teilzeichenfolgen extrahiert werden kann, die bestimmte Bedingungen erfüllen ab einer bestimmten Zeichenfolge usw. Wenn ein Benutzer beispielsweise ein Formular abschickt, um festzustellen, ob die eingegebene Telefonnummer, E-Mail-Adresse usw. gültig ist, reicht eine gewöhnliche wörtliche Zeichenüberprüfung offensichtlich nicht aus. Reguläre Ausdrücke sind Textmuster, die aus gewöhnlichen Zeichen (z. B. den Zeichen a bis z) sowie Sonderzeichen (sogenannte „Metazeichen“) bestehen. Ein regulärer Ausdruck fungiert als Vorlage, die ein Zeichenmuster mit einer gesuchten Zeichenfolge abgleicht. Ein reguläres Ausdrucksmuster kann ein einzelnes Zeichen, eine Sammlung von Zeichen, eine Reihe von Zeichen, eine Auswahl zwischen Zeichen oder eine beliebige Kombination all dieser Komponenten sein.

Der Zweck der Verwendung regulärer Ausdrücke besteht darin, auf einfache Weise leistungsstarke Funktionen zu erreichen. Um einfach, effektiv und leistungsstark zu sein, sind die Regeln für reguläre Ausdrücke kompliziert. Es ist noch schwieriger, korrekte und effektive reguläre Ausdrücke zu erstellen, daher ist ein gewisser Aufwand erforderlich. Nach dem Einstieg ist es durch bestimmte Referenzen und viel Übung sehr effektiv und interessant, reguläre Ausdrücke in der Entwicklungspraxis zu verwenden.


Häufig verwendete Begriffe in regulären Ausdrücken

Bevor wir reguläre Ausdrücke lernen, wollen wir zunächst einige leicht verwechselbare Begriffe in regulären Ausdrücken verstehen, die beim Erlernen regulärer Ausdrücke eine große Hilfe sein werden.

1) grep

war ursprünglich ein Befehl im ED-Editor, der zum Anzeigen bestimmter Inhalte in der Datei verwendet wurde. Später wurde grep zu einem eigenständigen Tool.

2) egrep

Obwohl grep ständig aktualisiert und aktualisiert wird, kann es immer noch nicht mit dem Tempo der Technologie mithalten. Aus diesem Grund hat Bell Labs egrep geschrieben, was „extended grep“ bedeutet. Dies erhöht die Leistungsfähigkeit regulärer Ausdrücke erheblich.

3) POSIX (Portable Operating System Interface von UNIX)

Portable Operating System Interface. Als sich grep weiterentwickelte, erstellten andere Entwickler ihre eigenen Versionen mit einzigartigen Stilen, basierend auf ihren eigenen Vorlieben. Es treten jedoch auch Probleme auf. Einige Programme unterstützen bestimmte Metazeichen, andere nicht. Daher POSIX. POSIX ist eine Reihe von Standards, die die Portabilität zwischen Betriebssystemen gewährleisten. Allerdings ist POSIX, ebenso wie SQL, nicht zum endgültigen Standard geworden und kann nur als Referenz verwendet werden.

4) Perl (Praktische Extraktions- und Berichtssprache)

Praktische Extraktions- und Berichtssprache. 1987 veröffentlichte Larry Wall Perl. In den folgenden 7 Jahren, von Perl1 bis zum aktuellen Perl5, wurde es schließlich zu einem weiteren Standard nach POSIX.

5) PCRE

Der Erfolg von Perl hat dazu geführt, dass andere Entwickler bis zu einem gewissen Grad mit „Perl“ kompatibel sind, darunter C/C++, Java, Python usw., die alle ihre eigenen regulären Ausdrücke haben. Im Jahr 1997 entwickelte Philip Hazel die PCRE-Bibliothek, eine Reihe regulärer Ausdrucks-Engines, die mit regulären Perl-Ausdrücken kompatibel sind. Andere Entwickler können PCRE in ihre eigenen Sprachen integrieren, um Benutzern umfangreiche Funktionen für reguläre Ausdrücke bereitzustellen. PCRE wird von vielen Programmen verwendet, einschließlich PHP.

Syntaxregeln für reguläre Ausdrücke

Bevor wir reguläre Ausdrücke verwenden, müssen wir zunächst die Syntax regulärer Ausdrücke lernen. Zu den Bestandteilen regulärer Ausdrücke gehören im Allgemeinen gewöhnliche Zeichen, Metazeichen, Qualifizierer, Ankerpunkte, nicht druckbare Zeichen und spezifizierte Ersetzungen.

1) Gewöhnliche Zeichen

Zu den gewöhnlichen Zeichen zählen alle druckbaren und nicht druckbaren Zeichen, die nicht ausdrücklich als Metazeichen gekennzeichnet sind, einschließlich aller Groß- und Kleinbuchstaben, Zahlen, Satzzeichen und einiger Symbole. Der einfachste reguläre Ausdruck ist ein einzelnes gewöhnliches Zeichen, das zum Vergleichen von Suchzeichenfolgen verwendet wird. Beispielsweise stimmt der aus einem Zeichen bestehende reguläre Ausdruck /A/ immer mit dem Buchstaben A überein.

Sie können auch mehrere einzelne Zeichen zu einem längeren Ausdruck kombinieren. Beispielsweise entspricht der reguläre Ausdruck /the/ dem, dort, anderen und über dem Lazy Dog in der Suchzeichenfolge. Es ist nicht erforderlich, Verkettungsoperatoren zu verwenden. Geben Sie die Zeichen einfach nacheinander ein.

2) Metazeichen

Reguläre Ausdrücke können neben gewöhnlichen Zeichen auch „Metazeichen“ enthalten. Metazeichen können in Einzelzeichen-Metazeichen und Mehrzeichen-Metazeichen unterteilt werden. Zum Beispiel das Metazeichen d, das numerischen Zeichen entspricht.

Alle Einzelzeichen-Metazeichen sind in der folgenden Tabelle aufgeführt.

do(es)? Entspricht „do“ in „do“ oder „does“ ^ entspricht dem Anfang der Suchzeichenfolge. Wenn das Zeichen m (mehrzeilige Suche) im Flag enthalten ist, stimmt ^ auch mit der Position nach n oder r überein. Wenn ^ als erstes Zeichen in einem Klammerausdruck verwendet wird, wird der Zeichensatz negiert ^d{3} entspricht den 3 Zeichen am Anfang der Suchzeichenfolge $ entspricht dem Ende der Suchzeichenfolge. Wenn das Zeichen „m“ (mehrzeilige Suche) im Flag enthalten ist, findet ^ auch Positionen vor n oder r. d{3}$ entspricht 3 Ziffern am Ende der Suchzeichenfolge . entspricht jedem einzelnen Zeichen außer dem Zeilenumbruch n. Um ein beliebiges Zeichen einschließlich n zu finden, verwenden Sie ein Muster wie [sS] a.c entspricht „abc“, „a1c“ und „a-c“ [] markiert den Anfang und das Ende eines Klammerausdrucks [1- 4] entspricht „1“, „2“, „3“ oder „4“ {}Marker-Qualifikationsausdruck Der Anfang und das Ende des Ausdrucks a {2,3} entspricht „aa“ und „aaa“. () markiert den Anfang und das Ende des Unterausdrucks. Sie können den Unterausdruck für die zukünftige Verwendung speichern. A(d) entspricht „A0“ bis „ A9". Speichern Sie diese Nummer für die zukünftige Verwendung. |Zeigt eine Auswahl zwischen zwei oder mehr Elementen an. z|food entspricht „z“ oder „food“. / stellt den Anfang und das Ende eines Textmusters für reguläre Ausdrücke in JavaScript dar. Das Hinzufügen einer Einzelzeichen-Flagge nach dem zweiten „/“ legt das Suchverhalten fest. /abc/gi ist ein regulärer JavaScript-Textausdruck, der mit „abc“ übereinstimmt. Das g-Flag (global) gibt an, alle Vorkommen des Musters zu finden. Das i-Flag (Groß-/Kleinschreibung ignorieren) macht die Suche unabhängig von der Groß-/Kleinschreibung. markiert das nächste Zeichen als Sonderzeichen, Text, Rückverweis oder oktales Escapezeichen Das Zeichen n entspricht dem Newline-Zeichen. ( entspricht „(“. \ entspricht „“

Diese Sonderzeichen verlieren ihre Bedeutung, wenn sie in Klammerausdrücken erscheinen und werden zu gewöhnlichen Zeichen. Um diese Sonderzeichen zu finden, müssen Sie das Zeichen zunächst maskieren, indem Sie ihm einen Backslash voranstellen. Um beispielsweise nach dem Textzeichen „+“ zu suchen, würden Sie den Ausdruck „+“ verwenden.

Zusätzlich zu den oben genannten Einzelzeichen-Metazeichen gibt es auch einige Mehrzeichen-Metazeichen, wie in der Tabelle unten gezeigt.

Metazeichen Verhalten Beispiel
* stimmt null oder mehrmals mit dem vorhergehenden Zeichen oder Unterausdruck überein, entspricht {0,}zo* mit „z“ und „zoo“ stimmt überein
+ stimmt ein oder mehrere Male mit dem vorhergehenden Zeichen oder Unterausdruck überein, entspricht {1,}zo+ stimmt mit „zo“ und „zoo“, aber nicht mit „z“ überein. Stimmt mit
? mit dem vorhergehenden überein Zeichen oder Unterausdruck null oder einmal, äquivalent zu {0,1}
, wenn ? auf ein anderes Qualifikationsmerkmal (*, +, ?, {n}, {n,} oder {n,m}) folgt, ist das passende Muster nicht gierig. Das nicht gierige Muster stimmt mit so wenigen Zeichenfolgen wie möglich überein, während das standardmäßige gierige Muster mit so vielen Zeichenfolgen wie möglich übereinstimmt einzelnes „o“ in „oooo“, während o+ mit allen „o“s übereinstimmt


[^abc] außer a, b , alle Zeichen außer c entspricht
[^aAeEiIoOuU] entspricht jedem Nicht-Vokal-Zeichen
(z|f)ood entspricht „zood“ oder „food“. Übereinstimmungen
* ist gleich {0,} o{2} stimmt nicht mit überein „o“ in „Bob“, stimmt aber mit allen „o“s in „fooood“ überein. ? ist gleich {0,1}In der Suchzeichenfolge „1234567“ ist d{1, 3} ist dasselbe wie „123“, „456“ und „7“ match Entspricht dem Muster und speichert die Übereinstimmungen. Gespeicherte Übereinstimmungen können aus Array-Elementen abgerufen werden, die von der exec-Methode in JavaScript zurückgegeben werden. Um das Klammerzeichen () abzugleichen, verwenden Sie „(“ oder „)“. stimmt mit dem Muster überein, speichert die Übereinstimmung jedoch nicht, d. h. die Übereinstimmung wird nicht für die zukünftige Verwendung gespeichert. Dies ist nützlich, wenn Musterteile mit dem „oder“-Zeichen (|) kombiniert werden. Industrie(?:y|ies) ist gleich Industrie|Industrien^(?=_.*d.{4,8}$ Wenden Sie die folgenden Einschränkungen auf das Passwort an: Es muss zwischen 4 und 8 Zeichen lang sein und mindestens eine Zahl enthalten Findet im Muster *d eine beliebige Anzahl von Zeichen, gefolgt von einer Zahl, und suche nach „abc3“, beginnend vor (nicht nach) der Übereinstimmung. {4 ,8} Entspricht einer Zeichenfolge, die 4 bis 8 Zeichen enthält , entspricht „abc3qr“ cM entspricht Strg+M oder einem Wagenrücklaufzeichen. x41 entspricht „A“, x41 entspricht „x04“, gefolgt von „1“ (da n genau zwei Ziffern sein muss). positive ganze Zahl. Dies ist ein Verweis auf eine Übereinstimmung, die mit identifiziert einen oktalen Escape-Code oder eine Rückreferenz. Wenn vor n mindestens n einfangende Unterausdrücke stehen, dann ist n ein Rückverweis; andernfalls, wenn n eine Oktalzahl (0-7) ist, dann ist n ein Oktal-Escape-Code identifiziert einen oktalen Escape-Code oder eine Rückreferenz. Wenn nm mindestens nm vorangestellt ist, die Unterausdrücke erfasst, dann ist nm ein Rückverweis. Wenn vor nm mindestens n einfangende Unterausdrücke stehen, dann ist n eine Rückreferenz, gefolgt vom Text m. Wenn keiner der oben genannten Punkte zutrifft, entspricht nm dem oktalen Escape-Code nm, wenn n eine Oktalziffer (0) ist -3), m und 1 sind Oktalzahlen (0-7), entsprechen dem Oktal-Escape-Code nml
Metazeichen Verhalten Beispiel
b stimmt mit einer Wortgrenze überein. Das heißt, die Position zwischen Wörtern und Leerzeichen. erb entspricht dem „er“ in „never“, aber nicht dem „er“ in „verb“. " Entspricht dem „er“ in „never“, aber nicht dem „er“ in „never“
dZahlenzeichenübereinstimmung, entspricht [0-9] in der Suchzeichenfolge „12 345“, d {2} entspricht „12“ und „34“. d passt zu „1“, „2“, „3“, „4“ und „5“ abc“ und „def“ in „def“ stimmen überein.
w entspricht jedem Zeichen in A-Z, a-z, 0-9 und Unterstrich, entsprechend [A-Za-z0-9] In der Suchzeichenfolge „ Der schnelle braune Fuchs ...“ w+ passt zu „The“, „quick“, „brown“ und „fox“
W passt zu allem außer A-Z, a-z, 0-9 und passt zu jedem Zeichen außer Unterstrich, Äquivalent bis [^A-Za-z0-9]In der Suchzeichenfolge „The quick brown fox…“ stimmt W+ mit „…“ und allen Leerzeichen überein
[xyz]Zeichensatz, Übereinstimmungen eines der angegebenen Zeichen [abc] und entspricht dem „a“ in „plain“
[^xyz]Umgekehrter Zeichensatz, entspricht nicht spezifiziert Alle Zeichen entsprechen [^abc] Entspricht „p“ , „1“, „i“ und „n“ in „plain“
[a-z]Zeichenbereich, entspricht jedem Zeichen im angegebenen Bereich [a-z] entspricht jedem Kleinbuchstaben im Bereich „a " bis „z“
[^a-z] umgekehrter Zeichenbereich, entspricht jedem Zeichen, das nicht im angegebenen Bereich liegt [^a-z ] Entspricht jedem Zeichen, das nicht im Bereich „a“ bis „z“ liegt
{n} stimmt genau n-mal überein, n ist eine nicht negative ganze Zahl o{2} stimmt nicht mit dem „o“ in „Bob“ überein. Stimmt überein, stimmt aber mit zwei „o“s in „fooood“ überein
{n,} stimmt mindestens n-mal überein, wobei n eine nicht negative ganze Zahl ist + ist gleich {1,}
{n,m} stimmt mindestens n-mal und höchstens m-mal überein. n und m sind nicht negative ganze Zahlen, wobei n<= m, zwischen dem Komma und der Zahl kein Leerzeichen stehen darf

(Muster)

(?=Muster)
Positiver Lookahead. Sobald eine Übereinstimmung gefunden wurde, beginnt die Suche nach der nächsten Übereinstimmung vor dem übereinstimmenden Text. Übereinstimmungen werden nicht für die zukünftige Verwendung gespeichert
.^ und $ geben die Start- und Endpositionen der Suchzeichenfolge an, wodurch eine Übereinstimmung verhindert wird, wenn die Suchzeichenfolge andere Zeichen als die übereinstimmenden Zeichen enthält
(?! Muster) negativer Lookahead. Entspricht einer Suchzeichenfolge, die nicht mit dem Muster übereinstimmt. Sobald eine Übereinstimmung gefunden wurde, beginnt die Suche nach der nächsten Übereinstimmung vor dem übereinstimmenden Text. Übereinstimmungen werden nicht für die zukünftige Verwendung gespeichert. b(?!th)/w+b entspricht Wörtern, die nicht mit „th“ beginnen. In diesem Muster entspricht b einer Wortgrenze. Entspricht bei der Suchzeichenfolge „quick“ dem ersten Leerzeichen. (?!th) stimmt mit einer Zeichenfolge überein, die nicht „th“ ist, und stimmt mit „qu“ überein. Ab dieser Übereinstimmung stimmt !w+ mit einem Wort überein, d. Der Wert von x muss im Bereich A-Z oder a-z liegen. Wenn nicht, wird angenommen, dass c das Textzeichen „c“ selbst ist.
xnentspricht n, wobei n ein hexadezimaler Escape-Code ist. Der hexadezimale Escape-Code muss genau zwei Ziffern lang sein. ASCII-Codes sind in regulären Ausdrücken zulässig.
(.)1 gespeichert wurde. Eine Übereinstimmung mit zwei aufeinanderfolgenden identischen Zeichen n
(d)1 mit zwei aufeinanderfolgenden identischen Zahlenübereinstimmungen nm
11, wenn n und m Oktalziffern (0-7) sind, und entspricht dem Tabulatorzeichen nml

另外,字符具有高于替换运算符的优先级,例如,允许 "m|food" 匹配 "m" 或 "food"。

替换

正则表达式中的替换允许对两个或多个替换选项之间的选择进行分组。实际上可以在模式中指定两种匹配模式的或关系。可以使用管道|字符指定两个或多个替换选项之间的选择,称之为“替换”。匹配管道字符任一侧最大的表达式。

例如:

/Chapter|Section [1-9][0-9]{0,1}/
Nach dem Login kopieren

该正则表达式匹配的是字符串“Chapter”或者字符串“Section”后跟一个或两个数字。

如果搜索字符串是“Section 22”,那么该表达式匹配“Section 22”。但是,如果搜索字符串是“Chapter 22”,那么表达式匹配单词“Chapter”,而不是匹配“Chapter 22”。

为了解决这种形式的表达式可能带来的误导,可以使用括号来限制替换的范围,即确保它只应用于两个单词“Chapter”和“Section”。可以通过添加括号来使正则表达式匹配“Chapter 1”或“Section 3”。将以上表达式改成如下形式:

/(Chapter|Section) [1-9][0-9]{0,1}/
Nach dem Login kopieren

修改后,如果搜索字符串是“Section 22”,那么该表达式匹配“Section 22”。如果搜索字符串是“Chapter 22”,那么表达式匹配单词也会是“Chapter 22”。

子表达式

正则表达式中放置括号可创建子表达式,子表达式允许匹配搜索文本中的模式并将匹配项分成多个单独的子匹配项,程序可检索生成的子匹配项。

例如匹配邮箱账号的正则表达式:

/(\w+)@(\w+)\.(\w+)/
Nach dem Login kopieren

该正则表达式包含 3 个子表达式,3 个子表达式分别进行匹配并保留匹配结果,与其他表达式匹配结果作为一个整体显示出来。

下面的示例将通用资源指示符(URI)分解为其组件:

/(\w+):\/\/([^\/:]+)(:\d*)?([^# ]*)/
Nach dem Login kopieren
  • 第一个括号子表达式保存 Web 地址的协议部分,匹配在冒号和两个正斜杠前面的任何单词。

  • 第二个括号子表达式保存地址的域地址部分,匹配不包括左斜线/或冒号:字符的任何字符序列。

  • 第三个括号子表达式保存网站端口号(如果指定了的话),匹配冒号后面的零个或多个数字。

  • 第四个括号子表达式保存 Web 地址指定的路径和/或页信息,匹配零个或多个数字字符#或空白字符之外的字符。

如果我们使用这个正则表达式匹配字符串“http://msdn.microsoft.com:80/scripting/default.htm”,那么 3 个子表达式的匹配结果分别为 http、msdn.microsoft.com:80、/scripting/default.htm。

反向引用

反向引用用于查找重复字符组。此外,可使用反向引用来重新排列输入字符串中各个元素的顺序和位置,以重新设置输入字符串的格式。

可以从正则表达式和替换字符串中引用子表达式。每个子表达式都由一个编号来标识,并称作反向引用。

在正则表达式中,每个保存的子匹配项按照它们从左到右出现的顺序存储。用于存储子匹配项的缓冲区编号从 1 开始,最多可存储 99 个子表达式。在正则表达式中,可以使用 \n 来访问每个缓冲区,其中 n 标识特定缓冲区的一位或两位十进制数字。

反向引用的一个应用是,提供查找文本中两个相同单词的匹配项的能力。以下面的句子为例:

Is is the cost of of gasoline going up up?
Nach dem Login kopieren

该句子包含多个重复的单词。如果能设计一种方法定位该句子,而不必查找每个单词的重复出现,就会很有用。

下面的正则表达式使用单个子表达式来实现这一点:

/\b([a-z]+) \1\b/
Nach dem Login kopieren

在此情况下,子表达式是括在括号中的所有内容。该子表达式包括由 [a-z]+ 指定的一个或多个字母字符。正则表达式的第二部分是对以前保存的子匹配项的引用,即单词的第二个匹配项正好由括号表达式匹配。\1 用于指定第一个子匹配项。\b 单词边界元字符确保只检测单独的单词。否则,诸如“is issued”或“this is”之类的词组将不能正确地被此表达式识别。所以,使用表达式 /\b([a-z]+)\1\b/ 匹配字符串“Is is the cost of of gasoline going up up?”得到的结果为 is、of、up。

在 PHP 中使用正则表达式

PHP 有两套函数库支持的正则表达式处理操作:

  • 一套是由 PCRE(Perl Compatible Regular Expression)库提供、与 Perl 语言兼容的正则表达式函数,以preg_为函数的前缀名称;

  • Der andere Satz ist die POSIX-Funktion (Portable Operating System Interface) mit erweiterter Syntax für reguläre Ausdrücke, mit ereg_ als Präfix der Funktion.

Die Funktionen der beiden Funktionsbibliotheken sind ähnlich, aber die Ausführungseffizienz von PCRE ist höher als die von POSIX, daher stellen wir nur die PCRE-Funktionsbibliothek vor.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas bedeutet der reguläre PHP-Ausdruck?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage