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

Bagaimanakah Saya Boleh Memadankan Seluruh Perkataan Hanya Menggunakan Ungkapan Biasa dalam C#?

Barbara Streisand
Lepaskan: 2025-01-22 20:17:12
asal
372 orang telah melayarinya

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

Padankan dengan tepat perkataan lengkap menggunakan ungkapan biasa C#

Dalam C#, ungkapan biasa sering digunakan untuk mencari corak tertentu dalam teks. Walau bagaimanapun, apabila cuba memadankan perkataan yang lengkap, penjagaan perlu diambil untuk mengelakkan padanan perkataan separa.

Andaikan anda perlu mencari perkataan "kasut", "baju" atau "seluar" dalam teks:

<code>string keywords = "(shoes|shirt|pants)";</code>
Salin selepas log masuk

Nampaknya mudah untuk menggunakan kaedah Regex.Match:

<code>if (Regex.Match(content, keywords + "\s+", 
  RegexOptions.Singleline | RegexOptions.IgnoreCase).Success)
{
    //匹配
}</code>
Salin selepas log masuk

Walau bagaimanapun, ungkapan ini juga akan memadankan perkataan seperti "peserta" kerana ia menganggap "seluar" sebagai padanan separa dalam perkataan yang lebih besar. Untuk menyelesaikan masalah ini, kita perlu memadankan perkataan yang lengkap secara eksplisit.

Penyelesaian: Gunakan sempadan perkataan

Sempadan perkataan dalam ungkapan biasa diwakili oleh aksara b. Dengan menambahkan sempadan perkataan pada ungkapan biasa, anda boleh memastikan bahawa hanya perkataan padanan tepat yang dikenali:

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

Kod dikemas kini

Berikut ialah kod yang dikemas kini untuk memadankan perkataan dengan betul berdasarkan kriteria anda:

<code>string keywords = "(shoes|shirt|pants)";
if (Regex.Match(content, @"\b(shoes|shirt|pants)\b").Success)
{
    //匹配
}</code>
Salin selepas log masuk

Dengan pengubahsuaian ini, hanya tiga perkataan lengkap "kasut", "baju" dan "seluar" akan dianggap sebagai padanan, memastikan ketepatan operasi padanan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memadankan Seluruh Perkataan Hanya Menggunakan Ungkapan Biasa dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China 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