Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ungkapan Biasa PHP: Cara mengekstrak subrentetan sebelum dan selepas berbilang aksara tertentu daripada rentetan

Ungkapan Biasa PHP: Cara mengekstrak subrentetan sebelum dan selepas berbilang aksara tertentu daripada rentetan

WBOY
WBOYasal
2023-06-22 13:51:101436semak imbas

Ungkapan biasa ialah alat padanan teks yang berkuasa yang boleh mencari dan mengekstrak subrentetan tertentu dalam rentetan. Dalam pengaturcaraan PHP, kita biasanya perlu mengekstrak data sebelum dan selepas berbilang aksara tertentu daripada rentetan Dalam kes ini, kita boleh menggunakan ungkapan biasa untuk mencapai ini.

Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengekstrak subrentetan sebelum dan selepas berbilang aksara tertentu daripada rentetan. Kami akan menggunakan fungsi preg_match_all dan ungkapan biasa untuk mencapai fungsi ini.

  1. Gunakan fungsi preg_match_all

Dalam PHP, kita boleh menggunakan fungsi preg_match_all untuk padanan ungkapan biasa. Prototaip fungsi ini adalah seperti berikut:

preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] ) : int

Antaranya, $pattern ialah corak ungkapan biasa, $subjek ialah rentetan yang hendak dipadankan, $match ialah hasil padanan, $flags ialah parameter pilihan, menunjukkan corak padanan, Lalai ialah PREG_PATTERN_ORDER, $offset mewakili kedudukan dalam rentetan untuk mula mencari.

  1. Membina ungkapan biasa

Sebelum menggunakan fungsi preg_match_all, kita perlu membina ungkapan biasa yang kita perlukan dahulu. Dalam contoh ini, kita perlu mengekstrak subrentetan sebelum dan selepas berbilang aksara tertentu daripada rentetan Kita boleh melakukannya dalam dua langkah berikut:

(1) Padankan subrentetan sebelum dan selepas aksara tertentu

Sebagai contoh, jika kita perlu mengeluarkan semua aksara sebelum (.*)特定字符 dan .* daripada rentetan

, kita boleh menggunakan ungkapan biasa

. Hello world! My name is PHP.worldDi sini PHP mewakili kedudukan permulaan rentetan padanan dan /^(.*)world.*s(.*)PHP.*/ mewakili padanan aksara ruang.

(2) Padankan subrentetan selepas aksara tertentu /^s Kita boleh menggunakan corak ungkapan biasa

untuk memadankan subrentetan selepas aksara tertentu, dengan

bermaksud memadankan sifar atau berbilang aksara arbitrari , watak khusus ialah watak yang perlu kita ekstrak.

Sebagai contoh, jika kita perlu mengeluarkan semua aksara selepas 特定字符(.*) dan .* daripada rentetan

, kita boleh menggunakan ungkapan biasa

. Hello world! My name is PHP.worldPHPContoh Kod Penuh/world(.*)PHP(.*)/

    Berikut ialah contoh kod PHP lengkap yang menunjukkan cara mengekstrak subrentetan sebelum dan selepas berbilang aksara tertentu daripada rentetan.
  1. <?php
    // 待匹配的字符串
    $str = 'Hello world! My name is PHP.';
    
    // 正则表达式模式
    $pattern = '/^(.*)world.*s(.*)PHP.*/';
    
    // 使用 preg_match_all 函数匹配字符串
    preg_match_all($pattern, $str, $matches, PREG_PATTERN_ORDER);
    
    // 输出匹配结果
    print_r($matches[1]); // 输出:Array ( [0] => Hello ) 
    print_r($matches[2]); // 输出:Array ( [0] => My name is )
    ?>
  2. Kod di atas mula-mula mentakrifkan rentetan untuk dipadankan
, dan kemudian membina corak ungkapan biasa

. Kemudian gunakan fungsi preg_match_all untuk memadankan rentetan dan menyimpan hasil yang sepadan dalam tatasusunan

. Akhirnya, hasil yang sepadan adalah output.

$strDalam contoh kod di atas, kita boleh melihat hasil penggunaan $pattern padanan corak ungkapan biasa: $matches dan

, masing-masing disimpan dalam tatasusunan

dan /^(.*)world.*s(.*)PHP.*/ . HelloMy name is$matches[1]Ringkasan$matches[2]

    Artikel ini menerangkan cara menggunakan ungkapan biasa PHP untuk mengekstrak subrentetan sebelum dan selepas berbilang aksara tertentu daripada rentetan. Mula-mula kita membina corak ungkapan biasa, kemudian menggunakan fungsi preg_match_all untuk melaksanakan pemadanan dan menyimpan hasil padanan dalam tatasusunan. Melalui contoh dalam artikel ini, kita dapat melihat bahawa ungkapan biasa boleh digunakan untuk melaksanakan padanan rentetan dan pengekstrakan subrentetan dengan mudah.

Atas ialah kandungan terperinci Ungkapan Biasa PHP: Cara mengekstrak subrentetan sebelum dan selepas berbilang aksara tertentu daripada rentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn