2017-09-26 13 views
-5

フィールドを検証するためにC#でregexを使用しています(空白でない)。 私はREGEXを何らかの理由で必須とする必要があります。 私の正規表現があるRegexがフィールドがヌルか空白かを検出しません

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

+0

正規表現が*ヌルを検出することはできません*。 '^ \ s * .S。* $'や '^ \ s * \ 'のように文字列全体にマッチする必要がある場合は、 S [\ s \ S] * $ 'または'(?s)^ \ s * \ S。* $ 'になります。あなたがしていることを明確にしてください。 –

+0

'string.IsNullOrWhiteSpace(string s)'を使わないのはなぜですか? –

+0

私は正規表現を使用する必要があります。 –

答えて

0

あなたがチェックすべきかこれはさがあり、そのヌル、空または空白

var str = ""; 
if (!string.IsNullOrWhiteSpace(str) || !string.IsNullOrEmpty(str)) 
{ 
    // then do something here 
} 
+1

[docs](https://msdn.microsoft.com/en-us/library/system.string.isnullorwhitespace(v = vs.110).aspx) - * "valueパラメータが**の場合はtrueをチェックしてくださいnull **または** String.Empty **、または値が空白文字**のみで** ** "*。 'IsNullOrEmpty'は冗長です。 –

+0

私はあなたの例を見ていて、それは私が与えたものよりもエレガントだと思っていました。私は通常、 'IsNullOrEmpty'を使用して、' IsNullOrWhiteSpace'を考えることはほとんどありません。 –

1

です拡張方法はstring.IsNullOrWhiteSpaceです。あなたが達成したいことは、それが行うことと多かれ少なかれ正確です。 here

例を参照してください:

string.IsNullOrWhiteSpace(string.Empty); // returns true 
string.IsNullOrWhiteSpace(null); // returns true 
string.IsNullOrWhiteSpace(" "); // returns true 
string.IsNullOrWhiteSpace("ABC"); // returns false 
関連する問題