Aye*_*xeM 10 javascript regex url
我正在尝试创建一个Javascript正则表达式,捕获没有文件扩展名的文件名.我在这里阅读了其他帖子并且"转到此页面: http ://gunblad3.blogspot.com/2008/05/uri-url-parsing.html "似乎是默认答案.这似乎不适合我.所以这就是我试图让正则表达式工作的方式:
我能得到的最接近的是:/([^ /] )\ W. $ 其中的字符串' http://example.com/index.htm ' EXEC()将捕获将/index.htm和指标.
我需要这个才能捕获索引.
Dan*_*uis 43
var url = "http://example.com/index.htm";
var filename = url.match(/([^\/]+)(?=\.\w+$)/)[0];
Run Code Online (Sandbox Code Playgroud)
我们来看看正则表达式:
[^\/]+ # one or more character that isn't a slash
(?= # open a positive lookahead assertion
\. # a literal dot character
\w+ # one or more word characters
$ # end of string boundary
) # end of the lookahead
Run Code Online (Sandbox Code Playgroud)
此表达式将收集所有不是斜杠的字符,这些字符是由扩展名和字符串结尾立即跟随(由于前瞻) - 或者换句话说,在最后一个斜杠之后直到扩展名.
或者,您可以在没有正则表达式的情况下完成此操作,方法是查找最后一次/和最后一次.使用的位置lastIndexOf并获取substring这些点之间的位置:
var url = "http://example.com/index.htm";
var filename = url.substring(url.lastIndexOf("/") + 1, url.lastIndexOf("."));
Run Code Online (Sandbox Code Playgroud)
BGe*_*sen 17
测试和工作,即使对于没有文件扩展名的页面.
var re = /([\w\d_-]*)\.?[^\\\/]*$/i;
var url = "http://stackoverflow.com/questions/3671522/regex-capture-filename-from-url-without-file-extention";
alert(url.match(re)[1]); // 'regex-capture-filename-from-url-without-file-extention'
url = 'http://gunblad3.blogspot.com/2008/05/uri-url-parsing.html';
alert(url.match(re)[1]); // 'uri-url-parsing'
Run Code Online (Sandbox Code Playgroud)
([\w\d_-]*)获取包含字母,数字,下划线或连字符的字符串.
\.?也许这个字符串后跟一段时间.
[^\\\/]*$但是直到最后才肯定没有斜线或反斜杠.
/i哦,是的,无视案例.
| 归档时间: |
|
| 查看次数: |
21044 次 |
| 最近记录: |