Rumah >pembangunan bahagian belakang >C++ >Bagaimana Memadankan Seluruh Perkataan Hanya Menggunakan Ungkapan Biasa dalam C#?

Bagaimana Memadankan Seluruh Perkataan Hanya Menggunakan Ungkapan Biasa dalam C#?

DDD
DDDasal
2025-01-22 20:09:09823semak imbas

How to Match Whole Words Only Using Regular Expressions in C#?

Padankan seluruh perkataan menggunakan ungkapan biasa dalam C#

Apabila menggunakan ungkapan biasa untuk mencari padanan dalam rentetan, adalah penting untuk memastikan bahawa hanya keseluruhan perkataan dipadankan. Pertimbangkan tugas memadankan perkataan tertentu seperti "kasut", "baju" dan "seluar" dalam rentetan kandungan.

Pada mulanya, seseorang mungkin berfikir bahawa ungkapan biasa berikut akan mencukupi:

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

Walau bagaimanapun, regex ini sepadan dengan perkataan seperti "peserta" yang mengandungi perkataan "seluar" yang diingini tetapi bukan perkataan lengkap itu sendiri.

Penyelesaian: Sempadan Perkataan

Untuk menyelesaikan masalah ini, aksara sempadan perkataan (b) mesti disertakan dalam ungkapan biasa. Sempadan perkataan ialah aksara tidak kelihatan yang menandakan permulaan dan akhir sesuatu perkataan. Dengan menggunakan sempadan perkataan, regex kini hanya sepadan dengan perkataan lengkap:

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

Carian rentetan ungkapan biasa baharu untuk sebarang perkataan yang bermula dan berakhir dengan sempadan perkataan. Ini memastikan bahawa hanya padanan tepat perkataan yang ditentukan ditemui. Aksara "@" tambahan pada permulaan rentetan menunjukkan bahawa rentetan itu harus dianggap sebagai rentetan kata kerja, menghalang aksara khas daripada ditafsirkan sebagai metakarakter.

Atas ialah kandungan terperinci Bagaimana Memadankan Seluruh Perkataan Hanya Menggunakan Ungkapan Biasa dalam C#?. 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