使用Regex选择url的特定部分
select particular part of a url using Regex
假设我有一个类似/dir/name.json
的url,并且我想选择并返回/dir/
和.json
之间的任何内容,在本例中为name
。所以我想出了这样的东西:
> var url = "/dir/name.json";
> var pattern = /'/'w+'./
> url.match(pattern)
[ '/name.', index: 4, input: '/dir/name.json' ]
但我只想匹配name
而不是/name.
当然,使用substr
:还有另一种方法可以做到这一点
> var url = "/dir/name.json";
> url.substr(5, url.length-10)
'name'
但我想知道我是否可以使用Regex
假设点是判别式(因此它不能出现在目录名称中…)
x = (/'w+(?='.)/).exec("/dir/name.json")
可以做到。
语法(?=...)
描述了一个必须匹配但不被视为"消耗字符"的子表达式,因此整个正则表达式的含义是"后面跟着一个点的单词字符的非空序列(不认为它是匹配的一部分)"。
技术名称是"积极前瞻零宽度断言"。
如果点可以出现在目录名中,那么可以工作的是:
x = (/'w+(?='.'w*$)/).exec("/dir.1/dir.2/name.json")
因为前瞻性现在希望确保在点之后只有单词字符(如果有的话),然后字符串结束。
最后,如果扩展可能完全丢失:
x = (/'w+(?='.'w*$|$)/).exec("/dir.1/dir.2/name.json")
也适用于CCD_ 9。
试试这个:
alert("/dir/name.json".match(/'/('w+)'./)[1])
alert("/dir/name.json".split("/").pop().split(".").shift())
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 使用php或javascript从facebook相册URL中删除多余的部分
- 在VanillaJS中模拟模型双向数据绑定
- Angular JS IE9 Hashbang url rewriting
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Angular,ui路由器;绑定”;到url,也不刷新
- Javascript数据将元素属性绑定到URL中的锚href
- 角度.js指令模板 URL 无法绑定范围
- 尝试将JS绑定到html图像url - 使用WP主题定制器API
- 在点击此链接后,获取绑定到锚链接的 onclick 函数内的 URL/锚点
- 当URL通过HTML更改时,带有jQuery密钥绑定的AngularJS指令未正确加载绑定
- 具有数据绑定URL的ExtJS存储未重新评估数据属性
- 用于在Facebook、Twitter等网站上共享URL的锚定标签
- Javascript Regex将$.param返回的url字符串强制转换为MVC模型绑定约定
- 即使更改url,也要在iframe内容中绑定事件
- 通过计算绑定,在聚合物中使用dom-repeat从Firebase动态获取文件url
- 使用Javascript转换?在URL中锚定
- 带有完整文档的jQuery.load(url)和带有脚本的部分文档的差异
- mailto:URL 在 jQuery 绑定事件处理程序中不起作用
- 如何使用 JavaScript 将 URL 参数(键、值)动态绑定到 HTML 字段