假设我有一个 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/