2009-10-31 44 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

小,說明您有:

/\/[^\/]*$/ 

的第一個和最後/之間的字符串是正則表達式

\/[^\/]*$ 

這裏\//匹配,因爲\用於轉義特殊字符,如/

[^\/] 

方括號內的所有東西[]只會匹配一個字符。括號內的^表示它將匹配除下一個字符以外的所有內容。因此[^\/]將匹配除/之外的所有內容。

*匹配零個或多個前一個字符。

最後$匹配字符串的末尾或換行符。

/foo/bar一起使用,您將以/foo結束。

1

您的正則表達式不會執行任何操作,如刪除括號 - 它看起來像是從路徑中刪除部分。 這將刪除方括號:正則表達式的

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

實際上我需要刪除每次迭代的最後一個方括號 – gwegwegw 2009-10-31 00:15:09

相關問題