繁体   English   中英

使用javascript正则表达式捕获组

[英]Capture groups with javascript regex

我有一个URL字符串,我想从中捕获/分隔符之间的所有单词:

因此,鉴于此网址:

"/way/items/add_items/sell_items":

我要捕获:

way
items
sell_items
add_items

如果我这样做:

'/way/items/sell_items/add_items'.match(/(\w+)/g)
=> [ 'way', 'items', 'sell_items', 'add_items' ]

它会给我一个数组,但是没有捕获组,为什么要这样做:

new RegExp(/(\w+)/g).exec("/way/items/sell_items/add_items")
=> [ 'way', 'way', index: 1, input: '/way/items/sell_items/add_items' ]

但这只是捕获方式..我希望它捕获所有四个词。

我怎么做?

谢谢

你应该写

var parts = url.split("/");

global标志用于replace方法。
另外,它使exec方法从最后一个结果开始(使用RegExplastIndex属性)

如果由于某些原因需要精确的正则表达式,请使用此函数,否则请使用split()函数。

码:

var re = new RegExp(/\w+?(?=\/|$)/gi);  // added |$
alert(re);
var text = '/way/items/add_items/sell_items';
var aRes = text.match(re);

结果: [方式,项目,add_items,sell_items];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM