2009-06-25 4 views
1

일부 LaTeX 문서를 재구성 된 텍스트로 변환하는 중이고 Visual Studio 2003의 정규 표현식에 문제가 있습니다. \ emph {텍스트} * 다음 찾기를 사용하여 * 텍스트에/문자열을 대체 :Visual Studio 2003에서 정규 표현식 대체 문제

\\emph\{([^\}]*)\} 

*\0* 

을하지만, 내가 얻을이 쌍을 사용하여 \ emph {텍스트} 내가 기대하지 무엇 이었습니까 * \ emph {텍스트} *에 변환됩니다. * \ 0 대신 * \ 1 *을 사용할 때 ** 나는 교체 결과로 **를 얻습니다.

내가 누락되었거나 그룹화 규칙에 대해 이해할 수없는 내용은 무엇입니까?

감사합니다.

+0

확실하게 샘플 텍스트 줄을 게시 할 수 있습니까? –

+0

나는 당신이 무슨 뜻인지 모르겠다. –

+0

라인을 일치시키고 다른 라인으로 대체하려고합니다. 샘플 라인을 게시 할 수 있습니까? –

답변

3

VS 정규 표현식 대체 구문에서 \ 1은 전체 일치 문자열이고 \ 1은 첫 번째 캡처 된 변수 (\ 2는 두 번째 등등)의 내용이라고 생각합니다. 따라서 : emph {텍스트} * \ emph {텍스트} 내가 기대하지 무엇 이었습니까 * 에 변환 \

\ 0

그러나이 쌍을 사용하여 나는 를 얻을.

따라서 \ 0은 전체 일치 문자열입니다.

* \ 0 대신 * \ 1 *을 사용하면 대체 결과 **가 표시됩니다.

아마 당신은 캡처 클래스에서 아무것도 일치하지 않습니다.

자세한 내용을 추가하려면 캡쳐 클래스 (태그 지정된 표현식 the docs)의 구문은 여기에서 괄호()가 아닌 괄호()를 사용합니다. 아마도 이것은 "찾기"표현식으로 작동합니다 :

+0

아 ... 그 정확히 문제입니다. 고맙습니다. –