2011-05-02 5 views
1

나는 여기에서 약간 혼란 스럽다. 난 그냥 최근까지 잘 작동 된이 방법을했다 : 미세 (내 단위 테스트에서 가져온) 다음 문자열을 주어진 일 것이다C# Regex; 큰 따옴표 문제

internal static bool IsZplFormat(string szString) 
{ 
    var regex = new Regex(@"\^XA.*\^XZ\\r\\n"); 
    return regex.IsMatch(szString); 
} 

:

지금 일어나고있는 것으로 보인다 무엇
const string zplSample = "^XA blah blah blah ^XZ\r\n"; 

, 나는 다음과 같은 것을 얻고있다.

const string zplSample = "^XA blah blah \"blah ^XZ\r\n"; 

그리고 지금 내 정규식은 더 이상 일치하지 않는다.

나는 .*이 모든 문자와 일치해야한다고 생각했지만 그 큰 따옴표에 올라간 것으로 보입니다. 이 아이디어를 다시 얻는 방법에 대한 아이디어가 있습니까?

+0

이렇게 입력이'@ "^ XA blah blah \" "blah^XZ \ r \ n"'에 실패합니까? –

+0

그건 내 혼란의 일부라고 생각합니다. 내가 게시 한 문자열은 디버거에 들어가서 "값 복사"로 돌아가는 것입니다. –

답변

1

여기 테스트 ...

string zplSample = "^XA blah blah blah ^XZ\r\n"; 
string zplSample1 = "^XA blah blah \"blah ^XZ\r\n"; 

Console.WriteLine(new Regex(@"\^XA.*\^XZ\r\n").IsMatch(zplSample)); 
Console.WriteLine(new Regex(@"\^XA.*\^XZ\r\n").IsMatch(zplSample1)); 

Console.ReadKey(); 

출력

True 
True 

어떻게 변화 했는가? 정규식 패턴은 @"\^XA.*\^XZ\r\n"입니다. (backslashes에서 두 번째로) (\\r\\n)

+0

OK; 그것은 단지 내가 긴 하루 후 그것을 잃을 수도 있지만 두 정규 표현식 사이에 어떤 차이가 보이지 않는다. –

+0

OK; 나는 그것을 잃고있다. 이전의 코멘트를 무시하십시오 –

+0

하하, 그런 일이 벌어집니다 : P – BrunoLM

관련 문제