Python模式与正则表达式,findall和组匹配

时间:2011-11-27 15:25:45

标签: python regex

我有一个脚本在一段文字中扫描并返回给我一个组,我将保存到一个数组。代码如下所示:

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))

我应该如何将第二组(姓氏)放在不同的数组中?

1 个答案:

答案 0 :(得分:2)

for match in matches:
    first_names.append(match[0])
    last_names.append(match[1])