2010-09-18 101 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