2014-01-08 2 views
0

"abcdefecg asdasda (SIAD) (EA91)"와 같은 문자열이 있습니다. EA91을 얻는 데 필요한 문자열입니다.중괄호로 내용을 찾는 정규식

정규 표현식을 사용하여 괄호 안의 내용을 얻지 만, 이것은 처음에만 존재합니다.

var regExpTextBetweenBraces = /\(([^)]+)\)/; 
var res = "abcdefecg asdasda (SIAD) (EA91)".match(regExpTextBetweenBraces); 

res [1]에는 SIAD가 포함되지만 EA91이 필요합니다. 어떻게해야합니까? 어떤 도움이 필요합니까?

+0

'{}'중괄호 또는'()'중괄호를 의미합니까? – jfriend00

답변

1

그것은 당신이 필요한 모든 첫 번째 중괄호 일치하지 그것을 말해이었다 (something) (Matched)에 대해 살펴 보겠습니다 /\([^)]+\).*?\(([^)]+)\)/을보십시오. 또는 전역 일치를 사용하고 색인을 사용할 수 있습니다.

+0

그것은 유효한 정규식이 아니다 –

+0

내가 뭘 바래서 고마워. –

+0

죄송합니다. 슬래시가 없습니다. –

4

그냥 정규식에 글로벌 g 플래그를 사용 :

var regExpTextBetweenBraces = /\(([^)]+)\)/g; 
+0

아, 예, 조금 개조하면 작동합니다. 덕분에 –