javascript获取./abc/demo.action.js中demo的正则如何写?

获取"./abc/demo.action.js"中demo的正则如何写?
使用"./abc/demo.action.js".match(//)来写

阅读 2k
4 个回答

clipboard.png

console.log(demo('./a/b/c/demo.ction.js')) // => demo

function demo (str) {
  let name;
  str.replace(/\/([^/]*)\.[^/]*\.[^/]*$/, function (g, $1) {
    name = $1
  })
  return name
}
</script>

因为不太清楚题主的url 最后面这段文件名的规律,如果是左侧一定是斜杠,右侧一定有点,然后demo这个位置只会是大小写字母和下划线的话,可以这么写正则

str.match(/(?<=\/)[a-z_0-9A-Z]+?(?=\.)/);

不过觉得两次split也可以

const paths = url.split('/');
const filename = paths[paths.length - 1];
const param = filename.split('.')[0];

"./abc/demo.action.js".match(/^./w+/(w+)..+$/)[1]

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题