0
我有一段腳本掃描了一段文本,並返回了一個我將保存到數組中的組。代碼如下所示:與正則表達式,findall和組匹配的Python模式
pattern = re.compile(r'<span id="first_name">(.+?)</span>')
matches = pattern.findall(str(my_text_file))
這工作真棒,我可以掃描的名字在我的文本文件,並寫入到一個數組這樣做:
for firstname in matches:
if firstname not in list_of_names:
list_of_names.append(firstname)
但現在我需要擴大我的模式檢索兩個組,而不是一個,我不知道我應該如何去第二組。
當我有這樣的:
pattern = re.compile(r'<span id="first_name">(.+?)</span><span id="last_name">(.+?)</span>')
matches = pattern.findall(str(my_text_file))
我怎麼把這些第二組(姓氏)在不同的陣列?
你有什麼*嘗試*?你有沒有試過看'pattern.findall'正在返回什麼?您是否閱讀過文檔以查看它應該返回的內容? –
python文檔說:「返回一個組列表;如果模式有多個組,這將是一個元組列表。空結果包含在結果中,除非它們觸及另一個匹配的開始。所以我想我會得到一個元組列表......但我不明白這一點,因爲我本身不會說英語...... –