2011-10-03 95 views
1

使用IIS7 URL重寫模塊,我試圖獲取特定查詢字符串參數的值,如果存在,我需要獲取該參數的值。IIS 7 URL重寫正則表達式

實例網址:

test.aspx?F5REDIRECTION&SearchType=HeaderSearch&hiddendims=&Keyword=tshirt&nkw=1&vsp=2 

我需要檢查,如果「關鍵字」參數存在,我需要得到的值「T恤」。

如果我試運行這種模式:

^.*F5REDIRECTION&SearchType=Header.*Keyword=(.*)$ 

結果是"tshirt&nkw=1&vsp=2"

如何獲得唯一的 「T恤」?

回答

1

嘗試這樣:

(?<=\?|&)Keyword=(.*?)(?=&|$) 

或者,如果lookarounds不可用:

(?:\?|&)Keyword=(.*?)(?:&|$) 
+0

完美的作品!儘管我沒有得到這個部分:(。*?)(?=&| $),首先它表示採用先前exp(。*?)的任何字符0或1,但是(?=&| $)是做什麼的?任何解釋將不勝感激! –

+1

看看這個網頁:http://www.regular-expressions.info/lookaround.html – Shibumi

+0

@MurtazaMandvi - Shibumi的評論是給你的,我想。他是對的,該網站是一般的lookarounds和正則表達式的一個很好的參考。 –