python正则表达式URL和字符串匹配分配给新变量

python正则表达式URL和字符串匹配分配给新变量,python,regex,string,parsing,url,Python,Regex,String,Parsing,Url,我在一列中有一个URL的csv,还有一列与这些URL关联的字符串(单词) 我想编写一个遍历每个URL的函数,如果URL中存在“/2019/”,则将其分配给名为“new_URL”的新变量,如果存在“/2018/”/2017/”(etc),则将其分配给名为“old_URL”的变量 我还希望它遍历第一列中的每个单词,如果“2019”或根本没有年份,则将其分配给一个名为“new_word”的新变量 列的示例: 现代奏鸣曲 2017吉普牧马人 2019本田雅阁 我一直在努力解决这个问题 但是我完全糊涂了,

我在一列中有一个URL的csv,还有一列与这些URL关联的字符串(单词)

我想编写一个遍历每个URL的函数,如果URL中存在“/2019/”,则将其分配给名为“new_URL”的新变量,如果存在“/2018/”/2017/”(etc),则将其分配给名为“old_URL”的变量

我还希望它遍历第一列中的每个单词,如果“2019”或根本没有年份,则将其分配给一个名为“new_word”的新变量

列的示例:
现代奏鸣曲

2017吉普牧马人

2019本田雅阁

我一直在努力解决这个问题
但是我完全糊涂了,不能让它工作。有什么想法吗

只是一些简单的开始:

import re

sample_rows = [
    ("hyundai sonata rebate", "https://www.edmunds.com/hyundai/sonata/2018/deals"),
    ("2017 jeep wrangler", "https://www.edmunds.com/jeep/wrangler/2017/deals"),
    ("2019 honda accord", "https://www.edmunds.com/honda/accord/2019/deals"),
    ("1985 some old car", "https://www.edmunds.com/some/oldcar/1985/deals")
]

for row in sample_rows:
    keywords = row[0]
    url = row[1]
    # the url
    if "/2019/" in url:
        new_url = url
        print(f"new_url={new_url}")
    elif re.search("/(?:(?:20)|(?:19))\d{2}/", url):
        old_url = url
        print(f"old_url={old_url}")
    # the "words"
    if "2019" in keywords:
        new_word = keywords
        print(f"new_word={new_word}")
    elif re.search("(?:(?:20)|(?:19))\d{2}", keywords) is None:
        new_word = keywords
        print(f"new_word={new_word}")

如果不创建列表,而是在数据帧中的行中循环,有没有办法做到这一点