替换仅包含字母的括号外的任何内容

问题描述 投票:1回答:2

我这里有我的示例文本

[10.5]  : [G  D/F#]
[21.5]  : [D F G] => It's too late
[26.5]  : [D Em A] => It's now done

我想替换(删除)包含和弦名称的括号外的所有内容。

我知道如何在/[^\[\]]+([a-zA-Z\#])/g里面选择

第一线选择

G  D/F#

第二行选择

D F G => It's too late

第三行选择

D Em A => It's now done

在那里,我想要输出(每行迭代)

G  D/F#
D F G
D Em A

我如何反转我的正则表达式因此它应该只选择qazxsw poi中的和弦名称替换外面的所有内容?

javascript html regex
2个回答
3
投票

例如,你可以使用[D F G]和这个正则表达式match来返回你正在寻找的值。

说明

  • 匹配支架\[([A-Za-z\s\d#/]+)\]
  • 启动捕获组\[
  • 匹配此范围内的字符一次或多次(
  • 关闭捕获组[A-Za-z\s\d#/]+
  • 比赛结束括号)

\]

3
投票

拆分它和第二个索引将有你想要的。在那里搜索括号。

var lines = [
    "[10.5]  : [G  D/F#]",
    "[21.5]  : [D F G] => It's too late",
    "[26.5]  : [D Em A] => It's now done",
    "[26.5]  : [A7/13] => text",
    "[26.5]  : [Asus4] => text",
    "[26.5]  : [Am6] => text"
];
for (var i = 0; i < lines.length; i++) {
    var pattern = /\[([A-Za-z\s\d#/]+)\]/;
    var result = lines[i].match(pattern)[1];
    console.log(result);
}
© www.soinside.com 2019 - 2024. All rights reserved.