2009-07-13 5 views
0

나는 분명히 꽤 간단한 정규 표현식으로 다소 혼란 스럽지만, 오늘날 카페인이나 날씨가 부족해야합니다. 기본적으로 내가 가지고있는 문자열은 'sw'또는 'ee'또는 'n.a'와 같은 문자열 일 수 있습니다..Net Regex Match Problem

이제 내가 원하는 것은 & 필요가있는 regex.match는 제공된 문자열이 'n.a.'인 경우에 대비하여, '_'(밑줄 + 원래 값)을 원한다. 그게 가능하니?

답변

0

다음 정규 표현식은 'n.a'가 아닌 문자열 값을 mstch합니다.

^(?!n\.a).* 
0

Regex.Replace으로 전화를 걸고 일치 평가자 대리인을 사용할 수 있습니다. 기본적으로 :

return Regex.replace ("sw | ee | n \ .a \.", 일치 => match.Value == "na"? String.Empty : String.Format ("_ {0}" , match.value));

+0

"^ (?: sw | ee | n \ .a \.) $"를 데이터로 사용하는 경우에만 일치로 사용할 수 있습니다. –

+0

하지만 다른 사람들은 switch 문을 사용하는 것에 동의합니다. –

0

질문이 조금 선명 수 있지만, 본질적으로 정규식

(N.A.) 수 (| [A-Z] +)를

세트 두 개의 그룹 - 제 매칭 'N.A.' 두 번째 문자는 하나 이상의 소문자와 일치합니다. 그래서,이 정규 표현식과 일치하고 첫 번째 또는 두 번째 그룹이 비어 있지 않은지 확인하고 두 번째 그룹이 히트를 얻으면 '_'앞에 붙입니다.