javascript - 正则表达式获取 URL 的特定部分

标签 javascript regex url

假设我有一个 URL:

http://www.example.com/foo/bar/yes_no_no.html

我正在寻找一个可以提取文件名中第一个下划线之前的所有字符的正则表达式。所以在上面的 URL 中我想提取"is"。

到目前为止,我设法使用以下方法获得了整个“yes_no_no”位:

/([^\/]+)(?=\.\w+$)/,但我似乎无法让它只匹配"is"。

最佳答案

试试这个:

/\/([^_\/]+)_?[^\/]*\.[a-z]+$/

例子:

console.log('http://www.example.com/foo/bar/yes_no_no.html'.match(/\/([^_\/]+)_?[^\/]*\.[a-z]+$/)[1])
console.log('http://www.example.com/foo/bar/yes.html'.match(/\/([^_\/]+)_?[^\/]*\.[a-z]+$/)[1])

关于javascript - 正则表达式获取 URL 的特定部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39053805/

相关文章:

javascript - 将字符串作为参数传递

java - 如果向前输入,如何在 URL 中附加查询参数?

javascript - 从url获取数据

c# - 此 ironpython 代码的 C# 版本是什么

jquery - 如何在 jQuery 中引用井号 (#)?

javascript - ng-model 未在嵌套指令中更新

javascript - 如何从 Promise 解析中获取值?

javascript - 如何刷新BabylonJs Canvas ?

regex - 使用正则表达式匹配组的 Powershell 重命名

javascript - 对 ELB 日志的正则表达式中的项目进行分组