Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Memadankan Seluruh Perkataan Hanya Menggunakan Ungkapan Biasa dalam 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.
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>
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!