2013-03-04 107 views
0

我使用正則表達式從登錄頁面的URL中使用廣告ID之前的特定參數捕獲廣告ID。如何在正則表達式中使用OR運算符?

我的一位客戶在同一天爲不同的廣告使用了他的網址的不同參數。

這是涉及第一個參數的表達式:

<Read Var="destUrl" Field='DestinationUrl' Regex='(\bp=edgetrackerid_(?{edgetrackerid}\w+)\b)'/> 

這是涉及到第二個參數的表達式:

<Read Var="destUrl" Field='DestinationUrl' Regex='(\bp=edgetrackerid(?{edgetrackerid}\w+)\b)'/> 

但下載報表時,將僅涉及到我先放的那個。 我該如何解決這個問題? 我想說的 - 如果第一個參數是不存在的,然後用第二個(不帶下劃線_)

感謝

+0

無法看到正則表達式 – 2013-03-04 08:53:13

+0

'\ BP = edgetrackerid _?(?{} edgetrackerid \ w +)\ B)'與可選的下劃線? – 2013-03-04 08:53:39

+0

是的,有時它會出現在這樣的網址:edgetrackerid_12345,有時它會看起來像這樣:edgetrackerid12345 – user1508682 2013-03-04 09:29:33

回答

0

你可以把_?這意味着零個或一個下劃線。

所以你的正則表達式將

(\bp=edgetrackerid_?(?{edgetrackerid}\w+)\b) 
+0

它沒有工作:(... – user1508682 2013-03-04 09:57:52

+0

@ user1508682你確定正則表達式是否正確?因爲我不確定如果'(?...)'是一個有效的捕獲組。 – Aditi 2013-03-04 11:07:26

+0

是的,它對我有效,它的參數包括edgeidtrecker_(帶下劃線) – user1508682 2013-03-04 13:07:54

相關問題