首頁 >後端開發 >C++ >為什麼我的正規表示式分隔符號在 C# 中不起作用?

為什麼我的正規表示式分隔符號在 C# 中不起作用?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-22 04:38:10846瀏覽

Why Aren't My Regular Expression Delimiters Working in C#?

理解 C# 中的正規表示式語法

在 C# 中使用正規表示式時,如果嘗試使用正斜線 (/) 等分隔符號(這在 PHP 或 JavaScript 等語言中很常見),則可能會遇到問題。 讓我們來看看為什麼這在 C# 中不起作用以及如何正確實現正規表示式。

問題源自於嘗試使用這樣的正規表示式(不正確):

"name = dr-det-fb.ydp.eu/ebook/trunk/annotations/ctrl.php/api1751-4060-1193-0487\nname = Regex.Replace(name, @"/\W/g", "")"

此程式碼嘗試刪除「/」、「-」和「.」使用分隔符號。 但是,C# 處理正規表示式的方式不同。 分隔符號不是必需的,事實上,分隔符號會導致錯誤。

C# 中的正確方法

要在 C# 中定義正規表示式,請使用 @ 符號建立逐字字串文字。這可以防止 C# 解釋字串中的轉義序列。 您還需要正確轉義正規表示式本身中的特殊字元。

刪除非字母數字字元 (W) 的修正代碼為:

<code class="language-csharp">name = Regex.Replace(name, @"\W", "");</code>

這一行程式碼有效地將 name 字串中的所有非字母數字字元替換為空字串,無需分隔符號即可實現所需的結果。 請記住,W 是符合任何非字母數字字元的正規表示式字元類別。

以上是為什麼我的正規表示式分隔符號在 C# 中不起作用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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