Heim > Backend-Entwicklung > PHP-Tutorial > Regulärer PHP-Ausdruck: So extrahieren Sie einen bestimmten Startteilstring aus einem String

Regulärer PHP-Ausdruck: So extrahieren Sie einen bestimmten Startteilstring aus einem String

王林
Freigeben: 2023-06-22 09:28:01
Original
1558 Leute haben es durchsucht

In der PHP-Entwicklung ist es oft notwendig, Teilstrings mit einem bestimmten Anfang aus einem String zu extrahieren, was durch reguläre Ausdrücke erreicht werden kann. Reguläre Ausdrücke sind ein leistungsstarkes Werkzeug zum Durchsuchen von Text nach Text, der einem bestimmten Muster entspricht.

In diesem Artikel erfahren Sie, wie Sie reguläre PHP-Ausdrücke verwenden, um Teilzeichenfolgen zu extrahieren, die mit einer bestimmten Zeichenfolge beginnen.

  1. Einfacher regulärer Ausdruck

Schauen wir uns zunächst einen einfachen regulären Ausdruck zum Extrahieren von Zeichenfolgen an, die mit „abc“ beginnen:

$pattern = '/^abc.*/';
$str = "abcdefg";

if (preg_match($pattern, $str, $matches)) {
    echo $matches[0];
}
Nach dem Login kopieren

Im obigen Code wird der reguläre Ausdruck „/^abc. /“ zum Abgleichen verwendet Zeichenfolgen, die mit „abc“ beginnen. Unter diesen bedeutet „^“, dass die Startposition der Zeichenfolge abgeglichen wird, „.“ bedeutet, dass ein beliebiges Zeichen abgeglichen wird, und „“, dass das vorherige Zeichen null oder mehrmals abgeglichen wird. Daher stimmt dieser reguläre Ausdruck mit Zeichenfolgen beliebiger Länge überein, die mit „abc“ beginnen.

In der Funktion preg_match() ist der erste Parameter der reguläre Ausdruck, der zweite Parameter die zu vergleichende Zeichenfolge und der dritte Parameter das Array der übereinstimmenden Ergebnisse, wobei $matches[0] die übereinstimmende Zeichenkette darstellt. Da wir nur einen Teilstring abgleichen müssen, wird die Funktion preg_match() anstelle der Funktion preg_match_all() verwendet.

Der obige Code gibt „abcdefg“ aus, da „abcdefg“ Teilzeichenfolgen enthält, die mit „abc“ beginnen. Wenn die abzugleichende Zeichenfolge nicht mit „abc“ beginnt, gibt der obige Code eine leere Zeichenfolge zurück.

  1. Reguläre Ausdrücke mit Parametern

In praktischen Anwendungen müssen wir möglicherweise einen bestimmten Startteilstring aus einem String extrahieren und einige Parameter angeben, um die Übereinstimmungsregeln zu steuern. Beispielsweise möchten wir möglicherweise nur Zeichenfolgen abgleichen, die mit einem Großbuchstaben „A“ oder einem Kleinbuchstaben „a“ beginnen.

Das Folgende ist ein regulärer Ausdruck mit Parametern zum Abgleichen von Zeichenfolgen, die mit „A“ oder „a“ beginnen:

$pattern = '/^[Aa].*/';
$str = "apple";

if (preg_match($pattern, $str, $matches)) {
    echo $matches[0];
}
Nach dem Login kopieren

Im obigen Code wird der reguläre Ausdruck „/^[Aa].*/“ verwendet. Passt auf Zeichenfolgen ab, die mit beginnen „A“ oder „a“. Wobei „[Aa]“ bedeutet, dass die Zeichen „A“ oder „a“ übereinstimmen, sodass dieser reguläre Ausdruck mit Zeichenfolgen beliebiger Länge übereinstimmt, die mit „A“ oder „a“ beginnen.

Der obige Code gibt „apple“ aus, da „apple“ mit dem Kleinbuchstaben „a“ beginnt. Wenn die abzugleichende Zeichenfolge nicht mit „A“ oder „a“ beginnt, gibt der obige Code eine leere Zeichenfolge zurück.

  1. Reguläre Ausdrücke mit mehreren möglichen Anfängen

Wenn wir Teilzeichenfolgen mit mehreren möglichen Anfängen abgleichen müssen, können wir den „|“-Operator regulärer Ausdrücke verwenden, der ein logisches ODER darstellt. Beispielsweise müssen wir möglicherweise Zeichenfolgen abgleichen, die mit „abc“, „def“ oder „ghi“ beginnen.

Das Folgende ist ein regulärer Ausdruck mit mehreren möglichen Anfängen, der zum Abgleichen von Zeichenfolgen verwendet wird, die mit „abc“, „def“ oder „ghi“ beginnen:

$pattern = '/^(abc|def|ghi).*/';
$str = "ghijklmnop";

if (preg_match($pattern, $str, $matches)) {
    echo $matches[0];
}
Nach dem Login kopieren

Im obigen Code ist der reguläre Ausdruck „/^( abc|def| ghi).*/“ wird verwendet, um Zeichenfolgen beliebiger Länge zu finden, die mit „abc“, „def“ oder „ghi“ beginnen. Der „|“-Operator stellt ein logisches ODER dar, sodass dieser reguläre Ausdruck mit jeder Zeichenfolge übereinstimmt, die mit „abc“, „def“ oder „ghi“ beginnt.

Der obige Code gibt „ghijklmnop“ aus, da er mit „ghi“ beginnt. Wenn die abzugleichende Zeichenfolge nicht mit „abc“, „def“ oder „ghi“ beginnt, gibt der obige Code eine leere Zeichenfolge zurück.

Fazit

In diesem Artikel wird erläutert, wie Sie reguläre PHP-Ausdrücke verwenden, um Teilzeichenfolgen zu extrahieren, die mit einer bestimmten Zeichenfolge beginnen. Wir haben gelernt, wie man einfache reguläre Ausdrücke und reguläre Ausdrücke mit Parametern schreibt und wie man mit Fällen umgeht, in denen es mehrere mögliche Starts gibt. Durch die Verwendung regulärer Ausdrücke können die erforderlichen Teilzeichenfolgen effektiv aus Zeichenfolgen extrahiert werden, was ein leistungsstarkes Werkzeug für die Programmentwicklung darstellt.

Das obige ist der detaillierte Inhalt vonRegulärer PHP-Ausdruck: So extrahieren Sie einen bestimmten Startteilstring aus einem String. 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