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

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

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-22 20:02:10634瀏覽

How Can I Use Regex in C# to Match Whole Words Only?

在C#中使用正規表示式來配對完整單字

在程式設計中,經常需要從字串中提取特定的單字。在C#中,正規表示式(Regex)為此類任務提供了一個強大的工具。但是,如果不加考慮,匹配整個單字可能會很棘手。

考慮以下場景:您有一個服裝店網站,並且想要匹配與服裝相關的單詞,例如“shoes”、“shirt”或“pants”。您寫了一個正規表示式:

<code>string keywords = "(shoes|shirt|pants)";</code>

並嘗試使用以下程式碼在內容字串中尋找這些單字:

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

但是,此正規表示式會錯誤地符合“participants”,因為它包含“pants”作為子字串。為了只匹配精確的單詞,務必使用單字分隔符,以\b表示。

修改後的正規表示式變成:

<code>\b(shoes|shirt|pants)\b</code>

透過添加單字分隔符,正規表示式現在期望匹配的單字前面和後面要有空格、標點符號或字串的開頭/結尾。在程式碼中,此修改後的表達式將是:

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

透過此修改,正規表示式將只符合內容字串中的字面單字「shoes」、「shirt」和「pants」。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn