먼저 작은 배경.정규 표현식에서 쌍 문자 열기/닫기와 일치
((Foo.Bar.StartsWith ("A")) & & (Foo.Bar.EndsWith ("B")))
그리고 : 나는 다음과 유사 문자열을 I는 다음과 같이 이러한 포맷하기 위해 노력하고있어 :
((Foo.Any (Bar.StartsWith ("A"))) & & (Foo.Any (Bar.EndsWith ("B"))))
사이드 노트 : .Bar 뒤에 오는 파트는 .Bar == "AB"와 같이()를 포함하지 않을 수도 있습니다.
저는 Foo라는 두 그룹을 캡처하려고합니다. 그리고 Bar.StartsWith ("< A 또는 B >"). 나는 다음과 같은 패턴을 만들었지 만, 뒤에 오는 괄호를 버린다.
((Foo.Any (Bar.StartsWith ("A")) & & (푸 :\((Foo\.)(.*?)\)
그래서 대신 내가, 내가지고있어 무엇을 찾고 있어요 점점
. 이 괄호 짧은 모든 (Bar.EndsWith ("B")))
.
문제는 내가이 일에 닫는 괄호를 포함해야 e. *? 일치 IF 거기에 여는 괄호가 있습니다. 나는 이것을하는 방법을 알아 내지 못 했어, 아무도 몰라?
PS - 코드는 C# .NET이지만 해결책에 모호한 언어 관련 RegEx 관련 내용이 포함되어 있지 않으면 문제가되지 않습니다.
대체 패턴은 무엇입니까? 대체 패턴의 끝에 대괄호를 추가하기 만하면됩니다. –
@ar 대체 패턴은 Any()를 추가하기 만하기 때문에 "$ 1Any ($ 2)"가됩니다. 교체에 단지)를 추가하는 것만 큼 문제는 두 번째 일치 그룹에 괄호가 실제로 포함되어 있다고 보장 할 수 없다는 것입니다.) 그렇지 않으면 추가 된 괄호가 올바르지 않게됩니다. –