2013-09-05 2 views
-2

내가 쿼리를 검색해야구글과 같은 검색 쿼리 spliting 정규식

string input = "FirstName=\"xy z\" LastName=\"Huber\""; 

분할 정규식을 사용하고자하는 것이

나는 다음과 같은 토큰 문자열 배열하고 싶은 :

FirstName=\"xy z\" 
LastName=\"Huber\" 

볼 수 있듯이 토큰은 큰 따옴표로 공백을 보존합니다.

GEX

("[^"] + "| + W \) \ *이

을이야 거의 내가 가져 더를 해결하기 위해 want..need하지

FIRSTNAME = \ "XY Z의 \"성 = "후버 \"\

+2

확인하여 요청하는 특정 경우에 대한

편집은, 그래서 당신은 자신을 어떤 시도? – Lloyd

+0

내 정규식
("[^"] + "| \ + W) \ *이 s의
거의 내가 더를 해결하기 위해 want..need하지 그것을 가져
FIRSTNAME =
\"XY Z의 \ "
것은 싶습니다에, 성
는 "후버 \"\

답변

0

변경 I4V의 대답은 OP 요구 사항을 일치하도록

OP가 문자열 값 FirstName=\"xy z\"LastName=\"Huber\"이 아닌 키 값 쌍을 원합니다. 솔루션은 I4V regex의 일치 항목을 사용하는 것입니다.

string input = "FirstName=\"xy z\" LastName=\"Huber\""; 
var matches = Regex.Matches(input, @"(\w+?)=\""(.+?)\""") 
        .OfType<Match>() 
        .Select(x => x.Value) 
        .ToArray(); 

이렇게하면 값의 문자열 배열을 얻을 수 있습니다. OP

string input = "FirstName=\"xy z\" LastName=\"Huber\""; 
var matches = Regex.Matches(input, @"[^\s\""]+(?:\"".*?\"")?") 
        .OfType<Match>() 
        .Select(x => x.Value) 
        .ToArray(); 
+0

나는 더 자세히에게 문자열 입력 = "FIRSTNAME = \"XY Z의 \ "성 = \"후버 \ "FIRSTNAME = 마이클 Kimmer"을 설명 할 Regex를 사용하여 분할하십시오. 빈 공간에서 분할이 발생하는 것을 볼 수 있듯이, 큰 따옴표와 큰 따옴표 사이에 공백이 있으면 아무 것도 없습니다. pl 다음 토큰을 사용하여 문자열 배열을 만들고 싶습니다. ------- FirstName = \ "xy z \"------ ------- LastName = \ "Huber \"------ ------- 이름 = Micheal ------- ------- Kimer ---------- Iam very 이 포럼에 처음 오셨습니다. com. 정말 다른 " SORRY 4 TROUBLE –

+0

@kumarz는 무엇이 필요한 업데이트입니까? –

+0

퍼펙트 내가 무엇을 찾고 있었습니까 고마워요 .. 내 하루를 기억 ... :) –