這個很簡單。這個真正簡單的RegEx表達式有什麼問題?
我試圖創建一個正則表達式,這將導致成功匹配時對以下文本
/default.aspx?
,所以我嘗試以下...
^/default.aspx$
,它無法匹配它。
有人可以幫忙嗎?
(我猜測我搞砸了\
和輸入表達式中的?
)。
這個很簡單。這個真正簡單的RegEx表達式有什麼問題?
我試圖創建一個正則表達式,這將導致成功匹配時對以下文本
/default.aspx?
,所以我嘗試以下...
^/default.aspx$
,它無法匹配它。
有人可以幫忙嗎?
(我猜測我搞砸了\
和輸入表達式中的?
)。
問題出在.
(點),這是一個通配符, 您必須像\.
那樣轉義它。
此外,由於URL末尾有?
,因此$
(輸入結束)位於正則表達式中,因此它不匹配。
正確的正則表達式應該是^/default\.aspx(\?.*)?$
在^/Default.aspx的$手段結束的$「字符串的結尾匹配」,但該字符串你與搜索結束「?」。
您需要添加\?在$之前或它不匹配。 '?'也是一個保留字符(意思是前一個事物的零個或一個),它也應該用一個反斜槓進行轉義。 – James 2010-04-14 02:28:36
ooho。我並不太離譜。所有那些括號內的東西總是讓我難住,也。你能解釋一下(?。*)的作用嗎?我猜((。*))?說括號裏的東西..好吧,它是可選的? – 2010-04-14 03:07:37
@Pure:實際上,'(?。*)'是一個語法錯誤。它應該是'(\?。*)':一個問號跟零個或多個任何東西。正如你所說,最後的問號使得整個組是可選的。 – 2010-04-14 03:14:47