javascript - 按方括号拆分,即使括号内没有文本

标签 javascript

我在使用方括号将文本拆分为数组时遇到问题。如果方括号内没有文本,则不会被捕获。代码在 JavaScript 中,如下例所示:

var text = 'This note is created on [date] by [admin;operator] for []'
var myArray = text.match(/\[([^[]+)\]/g);
console.log(myArray);

结果是

["[date]", "[admin;operator]"]

但我想要的是

["[date]", "[admin;operator]", []]

如何改进我的模式以获得空白方括号 ([])?

最佳答案

只需将 +(1 或更多)替换为 *(0 或更多)

var text = 'This note is created on [date] by [admin;operator] for []'
var myArray = text.match(/\[([^[]*)\]/g);
console.log(myArray);

关于javascript - 按方括号拆分,即使括号内没有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48862962/

相关文章:

java - 如何在我的 Java Web 应用程序中设置推送消息服务

javascript - HTML Canvas ,使用灰度图像作为蒙版

javascript - 请求失败。来自服务器的意外响应。 Sharepoint 2013 在线出现空错误

javascript - 在 TypeScript 中扩展数据对象

Javascript 和 `<>...</>` 标签

标题中的 JavaScript 代码位置

javascript - IE 中 iframe 元素的线程

javascript - Chrome 版本 61 为 document.documentElement.scrollHeight 返回不同的结果

javascript - JavaScript 中的多重排序

javascript - 为什么 RegExp.exec(...) 对我的第二个参数返回未定义?