Dot-Net

正則表達式匹配任何非字母數字字元,但減號

  • November 1, 2019

我需要清理文件名。所以我有這個程式碼:

//\W_ is any non-word character (not [^a-zA-Z0-9_]).
Regex regex = new Regex(@"[\W_]+");
return regex.Replace(source, replacement);

這很好用,但現在我不想刪除減號 (-),所以我將正則表達式更改為:

[\W_^-]+

但這不起作用。我錯過了什麼?

嘗試使用這個正則表達式:

[^\w-]+

編輯 :

似乎正確的正則表達式是:

[^a-zA-Z0-9-]+

只是顛倒你想要的和你不想要的:

[^a-zA-Z0-9-]+

用於此的 RegexPal 連結。

引用自:https://stackoverflow.com/questions/12181733