gpt4 book ai didi

Javascript RegExp 匹配返回太多

转载 作者:行者123 更新时间:2023-11-30 18:03:09 26 4
gpt4 key购买 nike

我需要获取一个字符串并从中获取一些值。我有这个字符串:

'tab/tab2/tab3'

'/tab3' 是可选的,所以这个字符串也应该有效:

'tab/tab2'

我目前正在尝试这个在大多数情况下都有效:

'tab/tab2/tab3'.match(new RegExp('^tab/([%a-zA-Z0-9\-\_\s,]+)(/([%a-zA-Z0-9-_s,]+)?)$'));

这将返回:

["tab/tab2/tab3", "tab2", "/tab3", "tab3"]

但我希望它返回

["tab/tab2/tab3", "tab2", "tab3"]

所以我需要去掉第 3 个索引项 ("/tab3") 并让它只与 'tab/tab2' 字符串一起工作。

更复杂的是,我只能控制最后一个分组中的 /([%a-zA-Z0-9-_s,]+)? 部分,这意味着它将始终换行在一个分组中。

最佳答案

你不需要正则表达式,只需使用 split() 方法:

var str = 'tab/tab2/tab3';
var arr = str.split('/');

console.log(arr[0]); //tab
console.log(arr[1]); //tab2

jsfiddle

关于Javascript RegExp 匹配返回太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16430526/

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