【发布时间】:2020-07-16 07:34:00
【问题描述】:
有这样一行
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
【问题讨论】:
-
提取它们的常用快速方法类似于
str.match(/\d+(?:\.\d+)?(?=[^{}]*})/g)。或者,/\d*\.?\d+(?=[^{}]*})/g
标签: javascript regex