2016-10-20 43 views
1

正如標題所暗示的,我想運行這樣的代碼(top_url_list只是一個URL列表,我正在循環查找這些實例我正在尋找一個正則表達式的文件名約定:re.findall()我希望頁面上所有正則表達式的唯一實例

name_files = [] 
    for i in top_url_list: 
     result = re.findall("\/([a-z]+[0-9][0-9]\W[a-z]+)", str(urlopen(i).read())) 

如果目標是抓住所有在正則表達式檢查出來的情況下的,因此「的findAll()」函數的問題是,這一點很重要我只能得到每個實例的不同/唯一。這是可能的嗎?

回答

1

re.findall()給出字符串中模式的非重疊匹配,如字符串列表。您可以使用set()將其轉換爲唯一值。關於set()如何工作的示例示例:

>>> my_list = [1, 5, 2, 5, 2, 7] 
>>> set(my_list) 
set([1, 2, 5, 7]) # Duplicate entries of 5 and 2 are removed 
相關問題