在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中文網其他相關文章!