2011-12-06 6 views
-1

こんにちは、私のお金と日付C#の正規表現を検索します。私は0.00の形式でのみ正の数を受け取りたいと思います。また、dd/mm/yyyyの形式で日付の検索と表現を行います。誰でも助けてくれますか?私はこのC#のお金と日付の正規表現ですか?

System.Text.RegularExpressions; 
csReleaseDate = txtReleaseDate.Text; 
String dateRegex = @"^\\d{2}/\\d{2}/\\d{4}$"; 
if (Regex.IsMatch(csReleaseDate, dateRegex)) { 
lblRequired.Text = "is working"; 
} else { 
lblRequired.Text = "is now working"; } 

にコードを更新していますが、何もページ

+0

このページには良い回答がありますが、@ "\\"は "\\"を生成するため、あなたの例は機能しません。 @prefixを削除すると、適切な日付チェックが行われます。 (日付が月と日で2桁、年で4桁の場合) –

+0

@を削除しましたが、まだ動作していません。私はdd/mm/yyyyの代わりにテキストにぶつかっていて、うまくいきません。私は何のメッセージも出てこないか、今働いています –

答えて

2

あなたがDateTimeDecimalTryParse方法を使用してオフに優れている上引き合いに出していないあなたに

に感謝します。

DateTimeとすると、正確なフォーマットに一致するようにTryParseExactを使用し、正しいフォーマットである場合はDecimalを使用して、値が正であるかどうかを確認できます。

これは、文字列がこれらの型を表すことを検証するためのより良いオプションです。

+0

ちょうど逆の 'TryParse' ;-) – Fischermaen

+1

あなたはTryParseを意味すると思います。ただし、TryParseは、必要な型だけでなく、有効な日付または小数点を受け入れます。 –

0
"^\\d{2}/\\d{2}/\\d{4}$" 

私は思います。

1

このような小さな問題に対して正規表現を使用しないでください。

に編集

DateTime parsedDate; 
if (DateTime.TryParse(stringToParse, out parsedDate)) 
{ 
    // Do something with the date 
} 

あなたが本当に正規表現を使用したい場合は、のために\A\d+\.\d{2}\Zを使用します。

decimal parsedMoney; 
if (decimal.TryParse(stringToParse, out parsedMoney)) 
{ 
    // Do something with the money 
} 

そして、そのような日付と似て:そのようなステートメントを使用してお金を得ますあなたのお金を検索し、あなたの予想される形式で日付を検索するための\d{2}/\d{2}/\d{4}