2009-06-29 38 views
0

好吧我保證今晚我會學習正則表達式,但現在我需要一個快速修復。 (說真的,我發誓我會的!)用正則表達式捕獲url的一部分

我如何提取的名稱=該網址後會發生什麼價值?

頁面ID = 1 &名=你好

在這種情況下,我會試圖孤立'你好'。

謝謝!

+0

它取決於語言。你使用的是什麼語言和RegEx客戶端? – 2009-06-29 18:53:55

回答

3

對於大多數引擎:

[\&\?]name\=(.*?)(?:&|$) 

你明白了$ 1。

+1

你不需要逃避&和?內部字符類,=根本不需要轉義,而=後面的部分可能會寫爲([^&] *)以避免向前看。 – Joey 2009-06-29 18:55:47

+0

沒有前瞻,只是一個非捕獲組。 – 2009-06-29 19:03:10

1

你在用什麼語言?幾乎每一種語言都有一個實用程序,會爲你做這個,所以你不必訴諸正則表達式:

PHP

parse_str(parse_url('page?id=1&name=hello', PHP_URL_QUERY), $query); 
print $query['name']; // outputs hello 

的Python

>>> from urlparse import urlparse 
>>> from cgi import parse_qs 
>>> parse_qs(urlparse('page?id=1&name=hello').query) 
{'id': ['1'], 'name': ['hello']}