调整javascript正则表达式以从网址中过滤变量

时间:2013-11-14 15:26:23

标签: javascript regex

所以我现在有这个:

matches = val.match(/kickstarter\/projects(.*?)/);

在kickstarters项目网址之后匹配信息,例如:

http://www.kickstarter.com/projects/defiant/hand-of-fate-a-card-game-that-comes-to-life?ref=home_spotlight

所以使用该代码,它给了我:

/defiant/hand-of-fate-a-card-game-that-comes-to-life?ref=home_spotlight

我希望它删除任何有的东西?包括那个角色本身。

4 个答案:

答案 0 :(得分:3)

我实际上会做类似

的事情

newstr = str.split("?")[0];

答案 1 :(得分:1)

您无法使用match功能删除内容。但你肯定可以使用

val.replace(/\?.*$/, '')

用空字符串替换问号到结尾的任何内容。

答案 2 :(得分:1)

在re:

中使用[^?]代替.
> url.match(/kickstarter\.com\/projects([^?]+)/)[1]
"/defiant/hand-of-fate-a-card-game-that-comes-to-life"

答案 3 :(得分:0)

你想要的正则表达式是:

matches = val.match(/kickstarter.com\/projects([^?]*)/)