Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Menggunakan Sempadan Kata dengan Betul dalam Ungkapan Biasa PHP?

Bagaimana Menggunakan Sempadan Kata dengan Betul dalam Ungkapan Biasa PHP?

DDD
DDDasal
2024-10-21 07:24:03482semak imbas

How to Correctly Use Word Boundaries in PHP Regular Expressions?

Memahami Fungsi Sempadan Perkataan dalam Ungkapan Biasa PHP

Apabila cuba melaksanakan sempadan perkataan untuk memadankan perkataan tertentu dalam kandungan menggunakan ungkapan biasa dalam PHP, adalah penting untuk memahami tingkah laku mereka yang tepat. Walau bagaimanapun, semasa ujian, keputusan yang tidak dijangka mungkin timbul.

Dalam contoh yang disediakan, ungkapan "^|b@nimal/i" digunakan untuk memadankan perkataan "kucing" hanya jika ia muncul pada permulaan perkataan lain. perkataan. Walau bagaimanapun, keputusannya adalah berlawanan dengan intuisi, yang membawa kepada kekeliruan tentang cara PHP menentukan sempadan perkataan.

Kunci untuk memahami pemadanan sempadan perkataan terletak pada sifat b. Penunjuk ini sepadan pada titik peralihan antara w (aksara perkataan) dan W (aksara bukan perkataan). Untuk perlawanan untuk berjaya, mesti ada watak perkataan sebelum watak yang diminati.

Pertimbangkan contoh pertama:

preg_match("/(^|\b)@nimal/i", "something@nimal", $match);

Ungkapan itu sepadan dengan sempadan perkataan antara "g" dan "@," kerana "g" ialah watak perkataan dan "@" ialah watak bukan perkataan.

Dalam contoh kedua:

preg_match("/(^|\b)@nimal/i", "something!@nimal", $match);

Tiada padanan berlaku kerana tiada perkataan aksara sebelum "@". Kedua-duanya "!" dan "@" ialah aksara bukan perkataan.

Untuk membetulkan isu, mulakan dengan aksara perkataan sebelum watak yang anda minati untuk dipadankan. Ini memastikan kehadiran sempadan perkataan yang sah.

Atas ialah kandungan terperinci Bagaimana Menggunakan Sempadan Kata dengan Betul dalam Ungkapan Biasa PHP?. 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