说我有一个网址:
http://www.example.com/foo/bar/yes_no_no.html
我正在寻找一个可以提取文件名的所有字符到第一个下划线的正则表达式。所以在上面的URL中我想提取"是"。
到目前为止,我设法得到了整个" yes_no_no"位使用:
/([^\/]+)(?=\.\w+$)/
,但我似乎无法匹配"是"。
答案 0 :(得分:3)
试试这个:
/\/([^_\/]+)_?[^\/]*\.[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])