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

Patricia Arquette
Lepaskan: 2024-10-21 07:23:30
asal
960 orang telah melayarinya

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

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!

sumber:php
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!