2015-04-30 205 views
1

我已經下文提到的正則表達式,將確定以下特殊字符:C#正則表達式,特殊字符

[email protected]©#$%^&*()_+{}|:"<>?`€[]\;',./ 

正則表達式:

var rx = new Regex(@"[\p{IsLatin-1Supplement}\p{P}\p{S}]"); 
var str = "[email protected]©#$%^&*()_+{}|:\"<>?€[]\\;',./`éöò"; 
var all = rx.Matches(str).Cast<Match>().ToList(); 

,如何排除文字點陣字符(. ),因爲我需要驗證價格值,如「16.01」這是有效的(在這種情況下,點是有效的)。

回答

1

\p{P}包含.符號,因此它是匹配的。

您可以減去字符類的點,如果它不再是你的情況「特殊」字符,並在列表中的其他標點符號是:

[\p{IsLatin-1Supplement}\p{P}\p{S}-[.]] 

然後16.01將不匹配。

+0

@Rakesh:請讓我知道這是否適合你。如果它不提供您測試的字符串和預期的輸出。 –

+0

我會檢查並讓你知道 – Rakesh

+0

它的工作。很感謝 – Rakesh