Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menukar Ungkapan Biasa PHP ereg Saya dengan Mudah kepada PCRE?

Bagaimanakah Saya Boleh Menukar Ungkapan Biasa PHP ereg Saya dengan Mudah kepada PCRE?

Patricia Arquette
Patricia Arquetteasal
2025-01-03 21:53:42657semak imbas

How Can I Easily Convert My PHP ereg Regular Expressions to PCRE?

Menukar Ungkapan PCRE dengan PHP

Ungkapan biasa POSIX (eg) tidak lagi disyorkan dalam PHP 5.3.0 dan lebih baru. Artikel ini menyediakan cara mudah untuk menukar ungkapan ereg lama kepada Perl Compatible Regular Expressions (PCRE atau preg), yang masih disokong.

Perubahan Sintaks

Perbezaan utama yang perlu diperhatikan ialah penambahan pembatas dalam preg. Mereka menghalang perlanggaran dengan aksara dalam ungkapan. Pembatas biasa termasuk ~, /, dan #.

Pembatas Melarikan Diri

Jika pembatas berlaku dalam ungkapan, ia mesti dilepaskan. Sebagai contoh, ungkapan yang mengandungi garis miring ke hadapan memerlukan pelarian:

preg_match('/^\/hello/', $str);

Menggunakan preg_quote

Untuk memastikan aksara melarikan diri ditambahkan dengan betul, gunakan fungsi preg_quote. Ia terlepas dari semua pembatas dan aksara terpelihara:

$expr = preg_quote('/hello', '/');
preg_match('/^'.$expr.'/', $str);

Ketidakpekaan Kes

Pengubah suai i menyediakan padanan tidak sensitif huruf besar-besaran seperti eregi:

preg_match('/^hello/i', 'HELLO');

Panduan Rujukan

Untuk rujukan komprehensif tentang sintaks PCRE dalam PHP, rujuk manual rasmi. Selain itu, manual termasuk pecahan perbezaan antara POSIX dan PCRE regex, membantu dalam proses penukaran.

Alternatif Lebih Mudah untuk Ungkapan Ringkas

Dalam contoh yang disediakan ( memadankan 'hello world' pada permulaan rentetan), ungkapan biasa mungkin tidak diperlukan:

stripos($str, 'hello world') === 0

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Ungkapan Biasa PHP ereg Saya dengan Mudah kepada PCRE?. 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