私は書かれた Regex
文字列が 9 digits
または次のようにではなく、これは常に私を返します false
私の文字列が 123456789
.
if (Regex.IsMatch(strSSN, " ^\d{9}$"))
誰もが何が間違っているのか、そしてより良いものが私に提供するかどうかを伝えることができます..私が達成しているのは、文字列が numeric data
そして長さは =9
回答:
回答№1は5正規表現ではスペースが重要です(そしてもちろん、スペース文字に一致することはできません 前 文字列の先頭)。それを削除すると、すべてがうまくいくはずです:
if (Regex.IsMatch(strSSN, "^\d{9}$"))
また、通常、C#の正規表現に逐語的な文字列を使用するため、バックスラッシュを2倍にする必要はありませんが、これは単なる問題であり、問題の理由ではありません。
if (Regex.IsMatch(strSSN, @"^d{9}$"))
回答№2の場合は0
これはうまくいくはず
^d{9}$
助けてくれる希望
回答№3の場合は0
間に空白があります "
そして ^
。そのはず:
if (Regex.IsMatch(strSSN, "^\d{9}$"))
回答№4の場合は0
それはあなたのパターンの始まりのスペースでしょうか?それは奇妙で、行の先頭にスペースと数字が固定されているようです。
これはあなたが欲しいものをあなたに与えるでしょう:
if (Regex.IsMatch(strSSN, "^\d{9}$"))