re.findall() 我想要页面上正则表达式的所有唯一实例

Sam*_*ard 3 python regex findall

正如标题所暗示的那样,我想运行这样的代码(top_url_list 只是一个 url 列表,我正在循环查找我正在使用正则表达式查找的这些文件名约定的实例:

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

目标是获取正则表达式检查出的所有实例,因此是“findall()”函数。问题是,重要的是我只获得每个实例的不同/唯一性。这可能吗?

Moi*_*dri 5

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
Run Code Online (Sandbox Code Playgroud)