您好我需要在javascript中使用正则表达式在2对方括号内获取一个字符串。
这是我的字符串[[12]],23,asd
到目前为止,我尝试使用此模式“\[\[[\d]+\]\]
”
我需要使用正则表达式
获取值 12答案 0 :(得分:2)
答案 1 :(得分:1)
\[\[(\d+)\]\]
试试这个。抓住捕获或组1.参见演示。
var re = /\[\[(\d+)\]\]/gs;
var str = '[[12]],23,asd';
var m;
while ((m = re.exec(str)) != null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
}
答案 2 :(得分:1)
您可以使用组
捕获数字"[12]],23,asd".match(/\[\[(\d+)\]\]/)[1]
=> "12"
答案 3 :(得分:1)
以下是您可以使用的正则表达式,捕获组以获得$1
和$2
,分别为12和43
\[\[(\d+)\]\]\S+\[\[(\d+)\]\]
答案 4 :(得分:0)
如果您需要获得12,您可以将您提到的内容用于捕获组\[\[(\d+)\]\]
var myRegexp= /\[\[(\d+)\]\]/;
var myString='[[12]],23,asd';
var match = myRegexp.exec(myString);
console.log(match[1]); // will have 12
答案 5 :(得分:0)
我只用2个regExps完成它,还没找到用它做的方法:
var matches = '[[12]],23,asd'.match(/\[{2}(\d+)\]{2}/ig),
intStr = matches[0].match(/\d+/ig);
console.log(intStr);