我需要获取一个字符串并从中获取一些值。我有这个字符串:
'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"]
所以我需要去掉第三个索引项(“/tab3”),并让它只使用“tab/tab2”字符串。
更复杂的是,我只能控制/([%a-zA-Z0-9-_s,]+)?
最后一个分组中的部分,这意味着它将始终包含在一个分组中。