2016-03-12 79 views
-1

在javascript中执行此操作。正则表达式,从路径中提取子字符串

我有路径是这样的:/ P/BC3eKD-RX-W/

我有这样一个规律:/\/p\/([\w-]+)\//g

我试图提取 “BC3eKD-RX-W”,但它保留匹配整个字符串。

我吮吸正则表达式,花了2个小时阅读和观看视频,非常沮丧。

帮助?

+0

使用你拥有的组,它只包含你所需要的。 – Filkolev

+0

@Filkolev你能更具体吗? – Geuis

+0

已经有一个答案。你的表达式匹配所有的东西,你需要的东西在一个组中,用'()'包围。您可以根据jehna1的回答提取匹配组的内容。 – Filkolev

回答

1
var exp = /\/p\/([\w-]+)\//g; 
console.log(exp.exec("/p/BC3eKD-rX-w/")[1]); 

适合我。

+0

我在用比赛。为什么不匹配只返回指定的组? – Geuis

+0

由于'/ g'标志。从[String.match文档](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/match):“如果正则表达式包含g标志... ** Captured团体不返回。**“ – jehna1

+1

基督我完全错过了。谢谢。 – Geuis

相关问题