2009-10-31 5 views
0
var asdf = "a[3] > b[5] > c[1]" 

function removebracket(){ 
var newstring = asdf.replace(/\/[^\/]*$/, '') 
alert(newstring); 
} 

<a href="#" onClick="javascript:removebracket();"> remove square brackets one by one </a> 

답변

0

약간은 정규 표현식의 설명을 당신은 :

/\/[^\/]*$/ 

/ 마지막 사이의 문자열이 정규 표현식 여기

\/[^\/]*$ 

입니다 \/\이 특수 문자를 이스케이프하는 데 사용되므로 /과 일치하며, /입니다.

[^\/] 

대괄호 사이의 모든 문자는 정확히 한 문자와 일치합니다. 대괄호 안에 ^은 다음 문자를 제외한 모든 문자와 일치한다는 것을 의미합니다. 따라서 [^\/]/을 제외한 모든 항목과 일치합니다.

*은 이전 문자가 0 개 이상 일치합니다.

마지막으로 $은 문자열의 끝 또는 개행과 일치합니다.

/foo/bar과 함께 사용하면 /foo이됩니다.

1

정규식은 대괄호 제거와 같은 작업을 수행하지 않습니다. 경로에서 부품을 제거하는 것처럼 보입니다. 이 대괄호 제거 :

var newstring = asdf.replace(/\[|\]/g, ''); 
+0

실제로 각 반복에서 마지막 대괄호를 제거해야합니다. – gwegwegw

관련 문제