2016-09-19 8 views
-3

누구나 손을 빌려줄 수 있다면 나는 정규식을 사용하지 않았습니다. 나는이 같은 텍스트를 가지고 :숫자, 하이픈, 콜론, 공백 및 쉼표와 일치하는 C# 정규식

2016년 9월 16일 14 : 25 : 문자열에 저장된 28756

. 입력 한 내용에 숫자, 하이픈, 콜론, 공백 및 쉼표가 포함되어 있는지 확인하기 위해 정규 표현식을 만들고 싶습니다. 이것에 대한 정규식은 무엇입니까? 또한 문자열을 정규식의 특정 순서와 비교하는 방법이 있습니까? 예를 들어, 누군가가 유입되면 :

2012년 10월 18일 15 : 29 : 37,886

#### (하이픈) ## (하이픈) # 때문 올바른 것 당신은 당신이 가지고있는 텍스트 정확히 일치합니다 # (공간) ## (콜론) ## (콜론) ## (쉼표) ###

+0

문제가 있습니까? 당신이주는 정확한 예를 찾고 있습니까? 또는 문자열에 해당 기준이 모두 포함되어 있는지 확인하고 있습니까? 어떤 정규식을 시도 했습니까? – Dispersia

+0

주문이 가장 중요하지만 제가 게시 한 정확한 주문을 확인하는 방법이 있다면 위대한 것입니다. 이 정규식 @ "[0-9 \ - :,]"시도했지만 분명히 맞지 않습니다. –

+3

실제로 날짜와 시간을 검색하고 있습니까? Regex가 아닌'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."); 
     } 
    } 
} 

정규 표현식의 유효성을 검사하고 테스트하는 데 유용한 리소스는 다음과 같습니다. http://regexr.com/

+0

기술적으로 솔루션이 질문과 일치하지만,'9016-29-26 44 : 65 : 68,756' 입력이 받아 들여지면 의심 스럽습니다 –

+0

op가 유효한 날짜를 확인하려면 예라고 말합니다. 그래도 그런 소리는 들리지 않습니다. – PrestonM

+0

이것은 시작과 끝 부분에서 문자열이 불필요한 문자와 일치하는 경우에도 바람직하지 않을 수 있습니다. 예 : 'asdf2012-10-18 15 : 29 : 37,886asdf' 문자열, 2222012-10-18 15 : 29 : 37,886234234' 문자열을 반환합니다. – Quantic

관련 문제