Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menggunakan Regex dalam C# untuk Memadankan Seluruh Perkataan Sahaja?

Bagaimanakah Saya Boleh Menggunakan Regex dalam C# untuk Memadankan Seluruh Perkataan Sahaja?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-22 20:02:10675semak imbas

How Can I Use Regex in C# to Match Whole Words Only?

Gunakan ungkapan biasa untuk memadankan perkataan lengkap dalam C#

Dalam pengaturcaraan, selalunya perlu untuk mengekstrak perkataan tertentu daripada rentetan. Dalam C#, ungkapan biasa (Regex) menyediakan alat yang berkuasa untuk tugasan tersebut. Walau bagaimanapun, memadankan keseluruhan perkataan boleh menjadi rumit jika anda tidak memikirkannya.

Pertimbangkan senario berikut: Anda mempunyai tapak web kedai pakaian dan anda ingin memadankan perkataan yang berkaitan dengan pakaian, seperti "kasut", "baju" atau "seluar". Anda menulis ungkapan biasa:

<code>string keywords = "(shoes|shirt|pants)";</code>

Dan cuba cari perkataan ini dalam rentetan kandungan menggunakan kod berikut:

<code>Regex.Match(content, keywords + "\s+",
  RegexOptions.Singleline | RegexOptions.IgnoreCase).Success</code>

Walau bagaimanapun, regex ini tidak sepadan dengan "peserta" kerana ia mengandungi "seluar" sebagai subrentetan. Untuk memadankan perkataan yang tepat sahaja, pastikan anda menggunakan pemisah perkataan, yang diwakili oleh \b.

Ungkapan biasa yang diubah suai menjadi:

<code>\b(shoes|shirt|pants)\b</code>

Dengan menambahkan pemisah perkataan, regex kini menjangkakan perkataan yang dipadankan akan didahului dan diikuti dengan ruang, tanda baca atau permulaan/akhir rentetan. Dalam kod, ungkapan yang diubah suai ini ialah:

<code>Regex.Match(content, @"\b(shoes|shirt|pants)\b");</code>

Dengan pengubahsuaian ini, regex hanya akan memadankan perkataan literal "kasut", "baju" dan "seluar" dalam rentetan kandungan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Regex dalam C# untuk Memadankan Seluruh Perkataan Sahaja?. 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