2013-07-01 45 views
0

我試着寫一個正則表達式匹配以下網址:如何編寫正則表達式來匹配URL; s?

/jsp/offer/recr/us/wsj/recoffertemp2flow1.jsp?offerId=67700184 &促銷碼= 4935003 /JSP /報價/ RECR/US /華爾街日報/ recoffertemp2flow1.jsp?OFFERID = 67700185 &促銷碼= 4935005 米/ JSP /報價/ RECR /美國/ WSJ/recoffertemp2flow1.jsp?OFFERID = 67700189 &促銷碼= 4935006

我將如何做呢?基本上,offerID和promoCode發生了變化 - 但其他一切都是不變的。

感謝 傑克

+0

用什麼語言? –

+0

它的Optimizely,http://support.optimizely.com/customer/portal/articles/437323-how-can-i-specify-the-pages-on-which-my-experiment-should-run- – jrutter

回答

0

取決於你使用,下面的正則表達式應該匹配這些URL,讓你,如果你需要提取出來OFFERID和促銷碼值的語言:

\/jsp\/offer\/recr\/us\/wsj\/recoffertemp2flow1.jsp\?offerId=(\d+)&promoCode=(\d+) 
+0

好的 - 我如何排除其他URL?這看起來像它會匹配使用此模板的任何網址。 – jrutter

+0

你能舉出一個你想排除的URL的例子嗎?目前我無法輕鬆檢查,但我很肯定這個正則表達式只與您給出的URL相匹配。 –

0

您可以使用此:

^/jsp/offer/recr/us/wsj/recoffertemp2flow1\.jsp\?offerId=\d+\&promoCode=\d+$ 

但請注意,如果您更改參數爲了這個表達式會失敗。

0
/jsp/offer/recr/us/wsj/recoffertemp2flow1\.jsp\?offerId=\d+&promoCode=\d+ 

可以匹配除此之外,還可以使用(red|blue|green)表達式來創建更多網址,例如(/jsp/offer/recr...\d+|/second/URL/to/match|/third/URL/to/match)等。

有關語法的詳細信息,請參閱JavaScript RegExp Object