2016-09-19 6 views
-3

私は正規表現を使用していないので、誰かが手を貸すことができれば素晴らしいです。数字、ハイフン、コロン、スペース、カンマを一致させるための正規表現#

2016年9月16日14:25:文字列に格納されている28756

私はこのようなテキストを持っています。入力した内容に数字、ハイフン、コロン、スペース、コンマが含まれているかどうかを確認する正規表現を作成したいと思います。これの正規表現は何でしょうか?また、文字列を正規表現の特定の順序と比較する方法がありますか?例えば、誰かが入った場合:

2012年10月18日15:29:37886

形態は

####(ハイフン)##(ハイフン)#あるため、これは正しいであろう#(スペース)##(コロン)##(コロン)##(カンマ)###

+0

どうしますか?あなたはあなたが与えている正確な例を探していますか?文字列にその基準がすべて含まれているかどうかを確認していますか?どの正規表現を試しましたか? – Dispersia

+0

注文が最も重要ですが、投稿した注文の正確性をチェックする方法があればそれはすばらしいことになります。私はこの正規表現@ "[0-9 \ - :、]"を試しましたが、それは明らかに正しくありません。 –

+3

実際に日時を検索していますか?正規表現ではなく、 'DateTime.ParseExact'を使用してください。 –

答えて

3

あなたが持っているテキストに完全に一致をしたい場合は、私が使用します。

using System; 
using System.Text.RegularExpressions; 

class Program 
{ 
    static void Main() 
    { 
     Regex regex = new Regex(@"\d{4}[-]\d{2}[-]\d{2}[ ]\d{2}[:]\d{2}[:]\d{2}[,]\d{3}"); 
     Match match = regex.Match("2012-10-18 15:29:37,886"); 
     if (match.Success) 
     { 
      Console.WriteLine("The value is a match."); 
     } 
    } 
} 

A正規表現の検証とテストに役立つ素晴らしいリソースは次のとおりです。 http://regexr.com/

+0

技術的には、あなたの解決策は質問にマッチしますが、入力 '9016-29-26 44:65:68,756'を受け入れるべきかどうかは疑いありません –

+0

opが有効な日付をチェックしたい場合、私はyesと答えます。しかし、そうであるようには聞こえません。 – PrestonM

+0

これは、文字列の先頭と末尾に余分な文字がある場合には、それも望ましくない可能性があります。たとえば、文字列 'asdf2012-10-18 15:29:37,886asdf'、' 2222012-10-18 15:29:37,886234234'で成功を返します – Quantic

関連する問題