2010-09-18 57 views
1

有人可以幫我用Javascript的正則表達式嗎?我需要匹配成對的括號。例如,它應該匹配以下字符串中的「[abc123]」,「[123abc]」:正則表達式匹配一對矩形括號使用javascript

「這是一個測試[abc123]],另一個測試[[123abc]

在此先感謝。

+1

怎麼樣的字符串'」 ...... [富[巴]巴茲] ...「'? – 2010-09-18 15:08:02

+0

該文本將只包含像[abc123]模式,將不會有這樣的模式,因爲你已經評論 – Sandhurst 2010-09-18 15:10:51

回答

3

如果不需要嵌套括號,

// theString = "this is a test [abc123]], another test [[123abc]. 
// This is an left alone closing"; 
return theString.match(/\[[^\[\]]*\]/g); 
// returns ["[abc123]", "[123abc]"] 

提取內容,請看下面的例子:

var rx = /\[([^\[\]]*)\]/g; 
var m, a = []; 
while((m = rx.exec(theString)))  
    a.push(m[1]); 
return a; 
+0

打我到:( – Puddingfox 2010-09-18 15:13:57

+0

OMG,你的頭像是[這] [http://www.formaformat.info/info /unicode/char/1f612/index.htm) – NullUserException 2011-09-23 00:21:12