首页 > 解决方案 > 使用正则表达式和 Javascript 查找括号中的数字

问题描述

有这样一行

let str = 'ds 1,2abc{3,4}dd'

我需要找到将包含在 {} 中的数字,而不用括起括号本身。

例如(假设这regex是一个按定义的正则表达式)我想写如下内容。

(str.match(regexp)).join('').split(',')

这将产生这样的结果=>['3','4']

如果括号中只有一个字符或逗号字符,我需要得到下一个结果

let str = 'ds 1,2abc{3,}dd'

(str.match(regexp)).join('').split(',')=>['3','']

目前,我有这样一个常规const regexp = (/\d+\,\d*|(?<=\{)\d+/ 但它不能处理字符串中有更多数字的情况,比如 1,2

标签: javascriptregex

解决方案


看来您实际上是在尝试在结果数组中包含一个空字符串。也许你可以使用:

var str = 'ds 1,2abc{3,4}dd';
var res = str.split(/[{}]/)[1].split(",");
console.log(res)


var str = 'ds 1,2abc{3,}dd';
var res = str.split(/[{}]/)[1].split(",");
console.log(res)


推荐阅读