일치를 찾으려면 RegEx 패턴의 심볼을 사용하고 싶습니다.하지만 교체하지 않으려합니다. 이것은 C#에서 클래스 및 네임 스페이스 조작을위한 것입니다. 예를 들어RegEx - 심볼을 사용하지만 일치하지 않습니다.
:
MyNamespaceLib.EntityDataModel.TestsMyClass+MyInnerClass
은 (참고 만 "검사는"이 나타나면 교체입니다 :
MyNamespaceLib.EntityDataModelTests.TestsMyClassTests+MyInnerClassTests
는 다음과 같이 교체해야합니다 끝에 네임 스페이스 부분의 부분이 아니라 클래스/네임 스페이스 부분 일 때)
일치 항목을 찾는 첫 번째 부분을 얻을 수 있었지만 대체 된 일치 항목에 기호를 유지하려고 진압하고 있습니다.
var input = "MyNamespaceLib.EntityDataModelTests.TestsMyClassTests+MyInnerClassTests";
var output = Regex.Replace(input, "Tests[.+]|$", "");
가 '비 캡처 그룹을 사용하여 시도했지만, 나는 그것이 난 길을 의미하지 용의자 :
지금까지 내가 가진 그것을 사용하려고합니다.
감사합니다.
아니요, 그 반대입니다. 필자는 기본적으로 ".", "+"또는 줄 끝으로 끝나는 일치 항목을 바꾸려고합니다. 그러나 단어 "Tests"가 네임 스페이스 또는 클래스 이름 내에 나타나면 바꿔서는 안됩니다. – Steve
@ user1927385 :'테스트 (?! [^. +])',. – Ryan
니스, 완벽하게 작동했습니다. 나는 Regex에서 lookaheads를 사용한 적이 없기 때문에 좀 더 읽을 것입니다. 고마워요 minitech. – Steve