⊗ppPmRgSP 248 of 447 menu

Capture Groups bei der Suche mit regulären Ausdrücken in PHP

Nehmen wir an, wir haben einen String, der eine Domain enthält:

<?php $str = 'eee site.ru bbb'; ?>

Lassen Sie uns diese Domain finden und sie in Teile aufteilen: den Domainnamen von der Zone trennen. Dafür verwenden wir spezielle Capture Groups regulärer Ausdrücke.

Capture Groups sind Elemente eines Arrays, in die Teile des von der Regex Gefundenen gelegt werden können. In unserem Fall können wir im ersten Capture Group den Domainnamen ablegen und im zweiten - seine Zone.

Lassen Sie uns das tun. Schreiben wir zunächst eine Regex, die die Domain im String findet:

<?php $reg = '#[a-z0-9_-]+\.[a-z]{2,}#'; ?>

Lassen Sie uns nun in unserer Regex kennzeichnen, welche Teile in welchen Capture Group landen sollen. Dies geschieht mit runden Klammern. Lassen Sie uns damit den Teil der Regex, der den Domainnamen sucht, und den Teil, der die Domainzone sucht, hervorheben:

<?php $reg = '#([a-z0-9_-]+)\.([a-z]{2,})#'; ?>

Nun geben wir in der Funktion preg_match als dritten Parameter eine Variable (beliebiger Name) an:

<?php preg_match($reg, $str, $res); ?>

In die angegebene Variable wird ein Array mit den gefundenen Capture Groups eingefügt. Dabei liegt im Nullelement des Arrays der gefundene String, im ersten Element - der erste Capture Group, im zweiten Element - der zweite Capture Group und so weiter:

<?php preg_match($reg, $str, $res); var_dump($res); // gibt aus ['site.ru', 'site', 'ru'] ?>

Gegeben ist ein String mit einem Datum:

<?php $str = '2025-12-31'; ?>

Legen Sie Jahr, Monat und Tag in separate Capture Groups.

Gegeben ist ein String mit einem Dateinamen:

<?php $str = 'index.html'; ?>

Legen Sie den Dateinamen und seine Erweiterung in separate Capture Groups.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen