Python 使用正则表达式分离和提取URL字符串的一部分?

Python 使用正则表达式分离和提取URL字符串的一部分?,python,regex,text,nlp,Python,Regex,Text,Nlp,我有一个名为url的变量df。url中的每个url字符串在url字符串中都有一个唯一的六个字符的字母数字ID。我一直在尝试从所有URL中提取每个字符串的特定部分,article\u id,然后将其作为新变量添加到df 例如,xwpd7w是https://www.vice.com/en_us/article/xwpd7w/how-a-brooklyn-gang-may-have-gotten-crazy-rich-dealing-for-el-chapo 如何根据df中所有URL在/article

我有一个名为
url
的变量
df
url
中的每个url字符串在url字符串中都有一个唯一的六个字符的字母数字ID。我一直在尝试从所有URL中提取每个字符串的特定部分,
article\u id
,然后将其作为新变量添加到
df

例如,
xwpd7w
https://www.vice.com/en_us/article/xwpd7w/how-a-brooklyn-gang-may-have-gotten-crazy-rich-dealing-for-el-chapo

如何根据df中所有URL在
/article/
旁边的位置提取
文章ID
?是否使用任何方法,正则表达式

到目前为止,我已经做了以下工作:

df.url.str.split()

ex output: [https://www.vice.com/en_au/article/j539yy/smo...

有什么想法吗?

应用“str.extract”方法

([^/]+):将连续的非“/”字符分组

df['cutcurls'] = df.url.str.join(sep=' ')
ex output: h t t p s : / / w w w . v i c e . c o m / e n
df=pd.DataFrame({"url":["https://www.vice.com/en_us/article/xwpd7w/how-a-brooklyn-gang-may-have-gotten-crazy-rich-dealing-for-el-chapo","https://www.www.www//en_us/article/idId2019/buzzwords"]}) 

df["articel_id"]= df.url.str.extract(r"/article/([^/]+)")

    Out:
        url articel_id
        0  https://www.vice.com/en_us/article/xwpd7w/how-...     xwpd7w
        1  https://www.www.www//en_us/article/idId2019/bu...   idId2019