내 프로젝트에서 사용해야하는 일반 정규식의 정규식 어셈블리를 만들고 싶습니다. 이 정규식을 사용하여 패턴을 일치시키고이를 대체합니다. 어셈블리를 만드는 코드 조각을 사용합니다.컴파일 된 정규식 바꾸기
AssemblyName an = new AssemblyName("MyRegExp");
RegexCompilationInfo[] rciList = {
new RegexCompilationInfo(@"\<b\>(.+?)\<\/b\>", RegexOptions.IgnoreCase, "BoldCode", "MyRegExp", true),
new RegexCompilationInfo(@"\<i\>(.+?)\<\/i\>", RegexOptions.IgnoreCase, "ItalicCode", "MyRegExp", true)
};
Regex.CompileToAssembly(rciList, an);
하지만 대체 문자열을 지정할 위치를 찾을 수 없습니다. 실제로이 정규 표현식을 사용하여 html 파일의 태그를 바꿉니다. 따라서 대체 문자열도 일정합니다.
다른 호출 어셈블리에서 항상 동일하기 때문에 호출 어셈블리가 바꾸기 문자열을 지정하는 것을 원하지 않습니다. 어떤 조언에 미리
감사합니다,
파비안EDIT1 :
어쩌면 내가해야 할 일을 misexplained. 나는 항상 같은 패턴으로 대체되는 몇 가지 정규 표현식을 가지고있다. 모든 문자열을 문자열로 바꾸고, 문자열을 문자열로 바꿉니다.컴파일 된 정규 표현식은 훌륭하지만 컴파일 된 어셈블리의 대체 패턴이 누락되었습니다. 필자는 Helper 클래스를 사용하여 Tranformation의 배열을 만드는 방법으로 문제를 해결했습니다.
내 초기 질문이 더 :이 방법은 컴파일 된 정규식에서 대체 문자열을 지정할 수 있습니까?
좋은 생각, 내가 뭘 찾았는지, 정규식은 컴파일 타임에 교체 문자열을 알고 지원하지 않습니다. 그 동안 모든 것을 처리하는 Helper 클래스를 작성했습니다. –