2012-01-11 5 views
0

현재 jQuery와 JavaScript를 사용하는 프로젝트에서 작업 중입니다. DOM 내에 여러 개의 a 요소가 있으며 jqgal[mygal1]과 같은 rel 특성을 사용하여 그룹화 할 수 있습니다.자바 스크립트 정규 표현식 [] 사이의 문자열을 반환합니다.

앵커 중 하나를 클릭하면 대괄호 사이의 값을 추출하고 나중에 스크립트에서 사용할 수 있도록 변수로 읽어 들이기를 원합니다. 다음과 같은 마크 업 그래서 예를 들면 :

<a href="my_image_1.jpg" rel="jqgal[mygal1]"><img src="some_image.jpg" /></a>

으로 RegularExpression는 mygal1를 반환해야합니다. 나는 이것을 알아 내려고 노력해 왔으며 지금까지 그다지 변함이 없었다. 누구든지이 정규 표현식을 사용하여이 작업을 수행 할 수 있습니까? 도움이되면 괄호 외부의 문자열은 항상 jqgal[]이됩니다.

+1

"jqgal [mygal1 [something_else]]"같은 것을 가지고 지금까지 수 있습니까? – robbrit

답변

1

뭔가 도움이 될 것입니다

$('a[rel^="jqgal"]').click(function() { 
    var val = $(this).attr("rel").match(/jqgal\[(.*)\]/)[1]; 
    // Do what you need with the 'val' 
}); 
0

rel 속성에 /^.*?\[(.*?)\]/ 정규식을 사용하십시오. 그룹 (첫 번째 괄호 그룹에 의해 캡처 됨)의 내용이 원하는 내용이어야합니다.

var data = /^.*?\[(.*?)\]$/.exec(link.rel)[0]; 
0
var str = "jqgal[mygal1]" 
var re = /\[([^\]]+)\]/ 
console.log(str.match(re)); 

이 정규식을 사용하여보십시오 등록 특급

\[  find a [ character - the \ character escapes the [ so it matches the text 
(  capture group start 
[^\]]+ match any character that is not a ] 
)  capture group end 
\]  match a closing [ (not needed) 
0

설명 : 그것은 jqgal[] 내부에 문자열을 검색합니다 /jqgal\[(.*)\]/

.

예 :이 같은

"jqgal[mygal1]".match(/jqgal\[(.*)\]/) 
> ["jqgal[mygal1]", "mygal1"] 
관련 문제