2012-08-24 3 views
2

대괄호 사이의 텍스트 일치 패턴을 찾고 있습니다. 예를 들어 : "(this is) a (test)"를 출력합니다VB.NET 괄호 사이의 문자열 일치 (대괄호)

"this is" 
"test" 

Dim m As Match = Regex.Match(str, pattern, RegexOptions.Multiline)

I에 유래, 구글을 검색하고 RegExr에 예를 시도하고 아무것도 나를 위해 작동하는 것 같다되지 않은 사용.

VB.NET RegExr에 있지만에서이 작업

"\(([^)(]++|(?R))+\)" - 오류가 중첩 된 정량

"(?<=\<p\>)(.*?)(?=<\/p\>)" - 아무것도

다음하지 정량

다른 사람 반환합니다 "this is) a (test" - 일치까지 외부 브라켓

추신 :

에 대해서도 같이 할 수 있습니다.

[],"",{}

는 한 곳에서 모든 사람을위한 vb.net

답변

5

\((.*?)\)

귀하의 정규식은 매우 복잡하다에서 찾고 그것들을 가지고 좋은 것입니다! 이것은 () 사이의 모든 텍스트를 잡고 내부 텍스트와 일치시킵니다. Play with it here.

+0

감사합니다. 내가 자바 스크립트에서 VB.NET으로 옮겨진 두 가지 오류가 있음을 발견했다. 하나는 정규식이 동일한 기능을 지원하지 않는다는 것입니다. 다른 하나는 일치 대신 일치를 사용합니다. – user759885

+0

@ user759885 문제가 없습니다. 내 대답이 도움이 되었다면 투표 수 밑에있는 체크 표시를 눌러 "수락"이라고 표시하십시오. –

+0

당신은이 Regex가 어떻게 작동 하는지를 친절하게 설명 할 수 있습니까? 일본어 대괄호()로 텍스트를 제거하는 함수를 설정하려고하지만 Regexes를 변경하기에 충분하지 않습니다. – Lou

관련 문제