Python和regex:创建一个temp

2024-04-24 23:05:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在字符串中找到很多子字符串,但这需要很多时间,所以我需要在模式中组合它:

我应该找到绳子

003.ru/%[KEYWORD]%
1click.ru/%[KEYWORD]%
3dnews.ru/%[KEYWORD]%

其中%-是任意符号 和[KEYWORD]-可以是['sony%xperia','iphone','samsung%galaxy','lenovo\u a706']

我试着用

keywords = ['sony%xperia', 'iphone', 'samsung%galaxy', 'lenovo_a706']
for i, key in enumerate(keywords):
    coding['keyword_url'] = coding.url.apply(lambda x: x.replace('[KEYWORD]', key).replace('%', '[a-zA-Z0-9-_\.\?!@#$%^&*+=]+') if '[KEYWORD]' in x else x.replace('%', '[a-zA-Z0-9-_\.\?!@#$%^&*+=]+'))
    for (domain, keyword_url) in zip(coding.domain.values.tolist(), coding.keyword_url.values.tolist()):
        df.loc[df.event_address.str.contains(keyword_url), 'domain'] = domain

其中df只包含event_address(url)

编码

domain  url
003.ru  003.ru/%[KEYWORD]%
1CLICK  1click.ru/%[KEYWORD]%
33033.ru    33033.ru/%[KEYWORD]%
3D NEWS 3dnews.ru/%[KEYWORD]%
96telefonov.ru  96telefonov.ru/%[KEYWORD]%

如何改进我的模式以更快地完成它?你知道吗


Tags: 字符串inurldfdomainru模式galaxy