2009-10-10 4 views
0

일치하는 그룹에서 1 개의 정규 표현식을 C#의 다른 정규 표현식으로 대체하는 방법은 무엇입니까?ENUM 레코드에 대한 정규 표현식 대체

ENUM DNS 레코드를 처리해야합니다. 레코드의 전반부가 정규 표현식으로 조회 값에 적용되고 두 번째 절반은 첫 번째 정규 표현식과 일치하는 정규 표현식입니다. 18,001,234,567

!^\+1800(.*)$!sip:1641641800\[email protected]! 

별도 정규 표현식에 대한 조회에 대한 ENUM 기록

예에 의해 구분되는! 문자는 다음과 같습니다

^\+1800(.*)$ 
sip:1641641800\[email protected] 

두 식을 적용하는 정확한 결과는 다음과 같습니다

모금 : [email protected]

나는 그것이 일치를 반복 할 수 할 수 있습니다 조잡한 문자열 검색을 사용하고 대체하지만 더 나은 방법이 있기를 바라고 있습니다. 나는 내가 좋아하는 somehting을 할 수있는 펄과 다른 언어 확신 :

"+180" =~ s/^\+1800(.*)$/sip:1641641800\[email protected]/ 

답변

0

나는 원유 문자열 대체가 \ n $ {N}으로 대체하고 끝났다.

Regex.Replace(enumSubstitution, @"\\(?<digit>\d)", @"${${digit}}");