【发布时间】:2013-05-07 23:57:49
【问题描述】:
我需要获取一个字符串并从中获取一些值。我有这个字符串:
'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,]+)? 部分,这意味着它将始终包含在一个分组中。
【问题讨论】:
标签: javascript regex match