javascript - 使用正则表达式和 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
解决方案
看来您实际上是在尝试在结果数组中包含一个空字符串。也许你可以使用:
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)
推荐阅读
- python - 请用代码解释我下面的行?(Python中的递归)
- ruby-on-rails - ReactJs Web 客户端 + Ruby-on-Rails API 服务器 - 使用 Devise + OmniAuth 通过 facebook 和 google_oauth2 进行身份验证
- reactjs - 如何在 ReactJS 中使用无状态组件进行 http 调用 onclick?
- ssh - 如何使用 tmux 更改带有 ls 的目录的颜色?
- powershell - 在 Powershell 中使用 GoPhish API 启动活动
- javascript - 在上传验证图片确实是身份证或护照文件
- r - 计算日期之间的平均时间
- python - C++ #包括
相当于 Python 的 import XXX as X - angular - 如何在 ng serve 和 ng build 中使用不同的 index.html 文件?
- saml - 尝试使用开放/免费 SAML IDP 测试 SAML 身份验证