js正则匹配问题

请问一下各位dalao

如何从 /pages/i/i-up-dcim/i /pages/i/i-up-dcim/pages/i/i-up-dcim/i-up-dcim中提取i-up-dcim
即从 /pages/i/*/i /pages/i/*/pages/i/*/i-up-dcim中提取星号*中的内容且*的内容有变化

本人尝试使用以下方法无法解决

var regex = /pages\/i\/(.*)/;
let id = route.match(regex)
console.log(id)
阅读 1.9k
2 个回答
var regex = /(?<=pages\/i\/)[^\/]+/;
let id = route.match(regex)
console.log(id[0])

换一个描述方式:取 /pages/i/ 后面的第一级路由

demo('/pages/i/i-up-dcim/i') // => i-up-dcim
demo('/pages/i/i-up-dcim') // => i-up-dcim
demo('/pages/i/i-up-dcim/i-up-dcim') // => i-up-dcim

function demo (str) {
  str = str.replace(/.*\/pages\/i\/([^\/]+)?.*/, '$1')
  console.log('结果', str)
  return str
}
推荐问题