gpt4 book ai didi

javascript - 如何使用javascript在数组中匹配 "place-hold"正则表达式

转载 作者:行者123 更新时间:2023-11-30 12:45:13 25 4
gpt4 key购买 nike

如果我有一个多重匹配正则表达式,例如:

var matches = string.match(/\s*(match1)?\s*(match2)?(match3)?\s*/i);

如果我正在测试的字符串是这样的:

var string = "match1 match3";

有没有办法输出这个数组值:

matches[1] = "match1";
matches[2] = "";
matches[3] = "match3";

注意:我希望正则表达式匹配整个内容,但在数组中“保留”它找不到的匹配项。

希望这是有道理的。感谢您的帮助!

最佳答案

已经有一个“占位符”。不匹配的组会弹出一个数组索引,该索引与具有未定义值的组号匹配。例如

var someString = "match2";
var matches = someString.match(/\s*(match1)?\s*(match2)?(match3)?\s*/i);

匹配现在有

["match2", undefined, "match2", undefined]

元素 0 是完整的正则表达式匹配,元素 1-3 是各个组

所以你可以做例如...

// check if group1
if (typeof matches[1] != 'undefined')

关于javascript - 如何使用javascript在数组中匹配 "place-hold"正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22738794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com