首頁 > 後端開發 > C++ > 如何在 C# 中僅使用正規表示式來匹配整個單字?

如何在 C# 中僅使用正規表示式來匹配整個單字?

Barbara Streisand
發布: 2025-01-22 20:17:12
原創
307 人瀏覽過

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

使用C#正規表示式精確匹配完整單字

在C#中,正規表示式常用於在文字中尋找特定模式。然而,當試圖匹配完整單字時,需要注意避免匹配部分單字的情況。

假設需要在一個文字中找出「shoes」、「shirt」或「pants」這些字:

<code>string keywords = "(shoes|shirt|pants)";</code>
登入後複製

使用Regex.Match方法似乎很簡單:

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

但是,這個表達式也會匹配諸如“participants”之類的單詞,因為它將“pants”視為較大單詞中的部分匹配。為了解決這個問題,我們需要明確地匹配完整單字。

解:使用單字邊界

正規表示式中的單字邊界以b字元表示。透過在正規表示式中新增單字邊界,可以確保只識別完全匹配的單字:

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

更新後的程式碼

以下是根據您的標準正確匹配單字的更新代碼:

<code>string keywords = "(shoes|shirt|pants)";
if (Regex.Match(content, @"\b(shoes|shirt|pants)\b").Success)
{
    //匹配
}</code>
登入後複製

透過此修改,只有「shoes」、「shirt」和「pants」這三個完整單字才會被視為匹配,確保匹配操作的準確性。

以上是如何在 C# 中僅使用正規表示式來匹配整個單字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板