javascript - 正则表达式捕获字符串内的多个数组索引文字
问题描述
对于外面的人来说可能很简单,但我想构建一个搜索这个字符串的正则表达式:
foo[0][2]
并返回
foo
0
2
在匹配数组中
到目前为止我想出的是
\([a-z]*)(\[(\d)\])/g
只回馈
0: "foo[0]"
1: "foo"
2: "[0]"
3: "0"
它不会重复到我的字符串中的下一个字面量数组,因此不会命中该[2]
部分。
我不是正则表达式忍者,希望能得到一些帮助以达到我需要的正确表达式。
谢谢
解决方案
我认为您正在寻找这种模式:([a-z]+)|(\[\d\])
console.log('foo[0][2]'.match(/([a-z]+)|(\[\d\])/g));
如果你不想要这些[]
零件,你可以试试这个:
console.log('foo[0][2]'.match(/([a-z]+)|(\d)/g));
推荐阅读
- java - JPA - 在同步期间,通过未标记为级联 PERSIST 的关系找到了一个新对象
- apache-spark - 在所有 DataFrame 列中搜索关键字并过滤
- django - Django 更改 url 模式
- ios - 如何为所有语言自动添加新字符串到 Localizable.strings?
- ios - 动画不适用于插入的 CAGradientLayer 作为子层
- performance - 网络工作者 - firefox vs. chromium(Chrome 和 MS Edge)
- firebase - Firestore 规则:处理单个文档而不是范围查询,为什么会这样?
- vue.js - 当在导航栏上单击按钮时,bootstrap-vue 导航栏不会在移动设备中展开
- javascript - 如何修复管道中的 Ramda drop dropLast 类型错误?
- nuxt.js - 使用 nuxtServerInit 和 API