【发布时间】:2015-05-28 03:33:14
【问题描述】:
我已经成功匹配了一个字符串,但是我需要拆分它并在 URL 中添加一些新的段。如果可以通过正则表达式,如何匹配 url 并提取两个字符串,如下例所示?
当前结果:
["domain.com/collection/430000000000000"]
想要的结果:
["domain.com/collection/", "430000000000000"]
当前代码:
var reg = new RegExp('domain.com\/collection\/[0-9]+');
var str = 'http://localhost:3000/#/domain.com/collection/430000000000000?page=0&layout=grid';
console.log(str.match(reg));
【问题讨论】:
-
如果
domain.com/collection/始终是一个已知常量,那么为什么不直接使用"domain.com/collection/430000000000000".split('domain.com/collection/') -
@vsync id后面有东西。
-
@jcubic - 所以?再次拆分它。给我一个场景,如果你可以的话,这可能会失败
-
@vsync 你将拥有
['http://localhost:3000/#', '430000000000000?page=0&layout=grid']。或["http://localhost:3000/#/", "domain.com/collection/", "430000000000000?page=0&layout=grid"],如果您保留拆分文本。 -
@jcubic - 不,我不会......无论如何,哈希值在那个数字之后,从来没有在之前,所以你再次拆分哈希值或者之后的任何内容......它会起作用
标签: javascript regex