2015-10-15 92 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