javascript - 匹配方括号中的数字并获取剩余的字符串
问题描述
我有一个如下字符串
value[0]
- 我想检查字符串是否包含方括号。
- 如果是,则获取上述情况下的数字
0
- 获取不带括号和数字的其余字符串,在上述情况下为
value
var matches = this.key.match('/[([0-9]+)]/'); // 1
if (null != matches) {
var num = matches[1]; // 2
}
第三点如何实现?
解决方案
您需要删除包装引号,并转义括号。
此外,您可以使用另一个捕获组来获取字符串。第一个捕获组应该匹配任何不是括号的东西。如果找不到匹配项,请使用后备数组,并使用解构来获取字符串和数字。如果字符串/数字undefined
不匹配。
var key = 'value[0]';
var [, str, number] = key.match(/([^\[]+)\[([0-9]+)\]/) || [];
console.log({ str, number });
推荐阅读
- java - 如何使用 Spring 实现 Post API JSON?
- opentap-proj - 在表“testrun2attachment”上插入或更新违反了外键约束“testrun2attachment_runid_fkey”
- django - Django migrate 抛出 AttributeError: 'str' object has no attribute '_meta'
- python - 缓存/记忆异步上下文管理器
- r - 如何根据时间数据选择案例?
- javascript - 如何使用 javascript 更改 css 类选择器
- ios - DispatchQueue.main.async 如何存储它的块
- arrays - 将具有相同值的 JSON 组合到 JSON 数组中 - Scala
- docker - 来自 Jenkins Pipeline 的挂载卷不起作用
- linux - 如何同时重命名多个文件扩展名?