Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Menggunakan Sempadan Perkataan (\\b) dengan Betul dalam Ungkapan Biasa PHP untuk Padanan Rentetan yang Tepat?

Bagaimana Menggunakan Sempadan Perkataan (\\b) dengan Betul dalam Ungkapan Biasa PHP untuk Padanan Rentetan yang Tepat?

Patricia Arquette
Patricia Arquetteasal
2024-10-21 07:23:30961semak imbas

How to Correctly Use Word Boundaries (\b) in PHP Regular Expressions for Precise String Matching?

Menjelaskan Sempadan Perkataan Ungkapan Biasa dalam PHP

Apabila bekerja dengan ungkapan biasa dalam PHP, memahami sempadan perkataan (b) adalah penting untuk rentetan yang tepat sepadan. Pembatas ini menandakan peralihan antara aksara perkataan (w) dan aksara bukan perkataan (W).

Dalam contoh yang disediakan, niatnya adalah untuk memadankan perkataan tertentu, termasuk perkataan "kucing", sambil mempertimbangkan sama ada ia memulakan atau mengakhiri perkataan. Walau bagaimanapun, keputusan yang diharapkan tidak dapat dicapai.

Mari kita pecahkan isu:

Ungkapan Pertama:

preg_match("/(^|\b)@nimal/i", "something@nimal", $match);
  1. kumpulan (^|b) sepadan sama ada permulaan rentetan atau sempadan perkataan.
  2. Dalam rentetan yang diberikan, "sesuatu@haiwan," tiada aksara perkataan sebelum "@," jadi kumpulan itu sepadan dengan rentetan kosong.
  3. Oleh itu, @nimal dipadankan dengan "@nimal," berikut yang termasuk simbol "@".

Ungkapan Kedua:

preg_match("/(^|\b)@nimal/i", "something!@nimal", $match);
  1. Sekali lagi, kumpulan (^|b) sepadan dengan permulaan rentetan atau sempadan perkataan.
  2. Dalam kes ini, terdapat aksara perkataan "g" sebelum "!", jadi kumpulan itu sepadan dengan rentetan yang tidak kosong.
  3. Walau bagaimanapun, antara "!" dan "@" tiada watak perkataan, jadi tiada sempadan perkataan.
  4. Akibatnya, kumpulan gagal untuk dipadankan, dan tiada padanan ditemui.

Penyelesaian:

Untuk menangani isu ini, adalah penting untuk memahami bahawa sempadan perkataan hanya sepadan apabila terdapat peralihan daripada aksara perkataan kepada aksara bukan perkataan. Dalam kes pertama, sempadan perkataan dicipta sebelum "@," manakala dalam kes kedua, tiada sempadan sedemikian wujud antara "!" dan "@."

Oleh itu, ungkapan yang betul untuk memadankan perkataan yang bermula dengan dan berakhir dengan aksara perkataan ialah:

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

Atas ialah kandungan terperinci Bagaimana Menggunakan Sempadan Perkataan (\\b) dengan Betul dalam Ungkapan Biasa PHP untuk Padanan Rentetan yang Tepat?. 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