2012-08-28 5 views
-1

나는이 텍스트를 가지고 내가 위에서합니다 (왼쪽 또는 오른쪽) 문자열 (들) () 가까운 W/digit에 싸서 문자열 And 또는 Or을 포함을 얻고 싶은정규식 가장 가까운 단어 일치 욕심

"(Objectid < 200 OR ObjectID > 600) and (test or best) W/5 AND (apple OR 10a) AND (Objectid < 100 OR ObjectID > 500)" 

여기서 digit은 숫자입니다. 위의 예에서

내가 (사과 또는 10A)을 (시험 또는 최고) 가야

답변

0

그 시도 :

var rgx = new Regex(@"(\([^)]*\))\WW/\d+\W(?:AND|OR|IN)\W(\([^)]*\))", RegexOptions.IgnoreCase); 
var items = new List<Tuple<string,string>>(); 
var match = rgx.Match(subjectString); 
while (match.Success) { 
    items.Add(new Tuple<string,string>(match.Groups[1].Value, match.Groups[2].Value)); 
    match = match.NextMatch(); 
}