2012-08-27 87 views
0

參考http://docs.python.org/howto/regex.html部分非捕獲和命名組正則表達式的問題,我看到了它的輸出並不明顯,我的例子。Python從了Kuchling的教程

>>> import re 

    >>> m = re.match(r"([abc])+", "abc") 
    >>> m.groups() 

('c',) 

在這裏,我不能理解爲什麼組(1)是'c',以及爲什麼我看到我在最後懸擺逗號。有人可以幫忙嗎?

+3

尾隨逗號只是表示它是[1-tuple](http://stackoverflow.com/questions/3680245/need-help-with-tuples-in-python)。 – kennytm

+0

感謝您的意見! –

回答

2

我不知道懸掛的逗號,但是您的第一組是c,因爲您讓該組重複後面的組+,而不是在字符組之後。

這種方式,正則表達式匹配第一a,其被分配給組1。然後,它匹配b,其也被分配給組1,最後,它匹配c,分配給組1和飾面;從而讓你的組1成爲c

如果你寫([abc]+),你的組1將是abc