2015-10-15 94 views
3

我想从URL捕获“com.ouest.france”下面我试图做到这一点使用这个表达式可选字符匹配字符串

play.google.com\/store\/apps\/details\?id=(.*)[?&] 

见这里http://www.rubular.com/r/NMxRo4grSL

https://play.google.com/store/apps/details?id=com.ouest.france&hl=de https://play.google.com/store/apps/details?id=com.ouest.france

但是,如果&符号不存在,则不起作用。

有什么想法?

+0

它是Ruby你正在使用? –

+0

实际上是Java,但它应该很相似 –

+1

你可以试试'play.google.com \/store \/apps \/details \?id =([^&] *)。*' –

回答

0

的问题是,你的正则表达式预计在年底的?&。使它可选像

play.google.com\/store\/apps\/details\?id=(.*?)([?&]|$) 

其允许?&线的端部。

Regards

+0

但为什么另一个'?'会出现在查询字符串的中间? – 2015-10-15 14:01:59

+0

@torazaburo引用'?'并与URL中的??匹配。 – ClasG