2012-11-25 3 views

답변

2

이 작동하는 것 같다 :

\\~([^"]*("[^"]*"[^"]*)*$) 

\\ 리터럴 백 슬래시와 일치합니다. 다음은 negative lookahead과 같습니다. ~(...)이 주장하면 그 시점에서 ...이 아니라이 일치 할 수 있습니다 (실제 경기에서 더 많은 것을 포함하지 않음). 이것을 사용하여 백 슬래시가 문자열 안에 있는지 확인합니다. 문자열 안에있는 경우 행과 끝 사이에 홀수 인 "이 있습니다. 따라서 백 슬래시와 줄 끝 사이에 짝수 " ($으로 표시)이 있으면 [^"]*("[^"]*"[^"]*)*$이 일치합니다.

이렇게하면 \"으로 이스케이프 된 여러 줄의 문자열이나 따옴표에 문제가 발생할 수 있지만 다행히도 VB.NET에는 존재하지 않으므로이 솔루션으로 안전해야합니다.

이 아니라은 .NET 정규식입니다. Visual Studio에는 its own rather odd regex syntax이 있습니다.

관련 문제