正则表达式从字符串中获取数组编号

问题描述:

我想从字符串中获取数组编号。 例如:正则表达式从字符串中获取数组编号

Input: "@[Anonymous:2] abccdef, @[Sales:5]" 

Output: [2, 5] 

请帮帮我。谢谢

我不知道你用什么语言,但你可以发表评论,我很乐意为你更新我的答案和帮助。 编辑:OP在下面的注释中指定

@\[\w+:(\d+)\] 

每场比赛的结果是capture group 1

您可以在regex.com

var s = "@[Anonymous:2] abccdef, @[Sales:5]" 
 
var r = /@\[\w+:(\d+)\]/g 
 
var m = r.exec(s) 
 
var a = [] 
 

 
while (m != null) { 
 
    a.push(Number(m[1])) 
 
    m = r.exec(s) 
 
} 
 

 
console.log(a)

+0

感谢检查您输入的正则表达式的评论! 使用JavaScript –

+0

'@ \ [\ w +:(\ d +)\]'稍微好一些,因此捕获整个数字(您当前的正则表达式将只捕获两位或更多位数字的最后一位数字) – ctwheels

+0

@msoliman你有一个无限循环 – ctwheels