2010-03-02 3 views
1

문자열이 빈 공간으로 시작하지 않는지 확인하는 정규식이 필요합니다.정규식을 사용하여 빈 공간으로 시작하지 않는 문자열을 일치시키는 방법은 무엇입니까?

그것을 위해 다음과 같은 ValidationExpression 권리인가 :

나는 이런 일을하고 싶지? 그것에 대해 노트의 부부

/^[^ ]/ 

그리고, :

string ValidationExpression = @"/^[^ ]/"; 

if (!String.IsNullOrEmpty(GroupName) && !Regex.IsMatch(GroupName, ValidationExpression)) 
{  
} 

답변

7

어때 대략 "^\S" 이렇게하면 첫 번째 문자가 공백 문자가 아니게됩니다.

0

아마 이런 식으로 뭔가가

  • 첫 번째 ^
  • "문자열 시작"을 의미 [^ ]은 "한 글자가 공백이 아님을 의미합니다 "
  • //은 정규식 구분 기호로, C#에서 필수 항목인지는 확실하지 않습니다.
+0

파스칼 안녕하세요 헤이로 확인하실 수 있습니다 ValidationExpression = @ "/^[^] /"; 맞습니다 – Malcolm

+0

-1 : .NET 태그가 아닙니다. .NET Regex 's에는 특수 구분 기호가 없습니다. 또한 탭이나 다른 공백이 아닌 공백만을 감지합니다. – Richard

6

당신은 또한 사용할 수 있습니다 그래서 문자열로 제공하고있는 값은 다음과 같습니다

if(GroupName.StartsWith(string.Empty)); // where GroupName == any string 
+3

예 - 정규 표현식이이 문제를 해결합니다. 또는 값 [0] == '' – Fakrudeen

+0

DRY –

+2

유효하지 않은 유효성 검사가 없으면 .Trim 또는 .TrimStart만으로 문제를 선제 적으로 수정할 수 있습니다. –

3
Regex rx = new Regex(@"^\s+"); 

당신은 내가 내 질문에 업데이트 한

Match m1 = rx.Match(" "); //m1.Success should be true 
    Match m2 = rx.Match("qwerty "); //m2.Success should be false 
+0

\ s는 공백을 의미합니다. \ S는 아무 것도 의미하지 않습니다. 공백을 의미하지 않습니다. – ceciliaSHARP

+0

@zwi : 프로그램의 맥락에서 나는 어느 것이 당신이 사용하든별로 중요하지 않지만 그럼에도 불구하고 잘 알지 못합니다. –

관련 문제