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
Lepaskan: 2025-01-03 21:53:42
asal
639 orang telah melayarinya

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);
Salin selepas log masuk

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);
Salin selepas log masuk

Ketidakpekaan Kes

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

preg_match('/^hello/i', 'HELLO');
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan