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
Barbara Streisandasal
2025-01-22 20:17:12344semak imbas

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>

Nampaknya mudah untuk menggunakan kaedah Regex.Match:

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

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>

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>

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:
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