python - 正则表达式字符串模式匹配
问题描述
我有一组看起来像这样的 https 链接
list1 = ['https://wvva.com/news/top-stories/2018/12/10/w-va-gov-appoints-former-beckley-council-member-to-parole-board/','https://www.starbreeze.com/2018/12/starbreeze-appoints-claes-wenthzel-as-acting-cfo/','https://www.streetinsider.com/corporate+news/perkinelmer+%28pki%29+appoints+prahlad+singh+as+president+%26+coo/']
我想过滤包含"appoints"
作为一个必要关键字和'chief-operating-officer','ceo','chief-executive-officer','coo','cfo','chief-financial-officer','chief-marketing-officer','cmo','chief-technology-officer','cto'
其他必要关键字的链接。我的意思是,如果链接包含“任命”一词以及上述任何一个词,例如 [cto、ceo、coo 等],则选择该链接。
我的示例输出将是这样的:
['https://www.starbreeze.com/2018/12/starbreeze-appoints-claes-wenthzel-as-acting-cfo/','https://www.streetinsider.com/corporate+news/perkinelmer+%28pki%29+appoints+prahlad+singh+as+president+%26+coo/']
非常感谢此问题的正则表达式。
解决方案
您可以遍历关键字以在任何提供的链接中查找匹配的关键字
import re
from pprint import pprint
keywords = [
'appoints',
'chief-operating-officer',
'ceo',
'chief-executive-officer',
'coo',
'cfo',
'chief-financial-officer',
'chief-marketing-officer',
'cmo',
'chief-technology-officer',
'cto',
]
links = [
'https://wvva.com/news/top-stories/2018/12/10/w-va-gov-appoints-former-beckley-council-member-to-parole-board/',
'https://www.starbreeze.com/2018/12/starbreeze-appoints-claes-wenthzel-as-acting-cfo/',
'https://www.streetinsider.com/corporate+news/perkinelmer+%28pki%29+appoints+prahlad+singh+as+president+%26+coo/',
]
new_links = []
for link in links:
for keyword in keywords:
temp = re.search(r'' + keyword + '', link, flags=re.IGNORECASE)
if temp and link not in new_links:
new_links.append(link)
pprint(new_links)
推荐阅读
- python - RLM 许可证不适用于 Windows 8、10 上的 python 3.5
- java - 将 JSONString 反序列化为包含字符串列表的 Java 对象的问题
- multithreading - 多线程中的事务提交有模拟吗?
- c# - 向 LineRenderer 的方向发射弹丸
- flutter - 是否可以在颤动中合并android代码?
- java - 我不能抛出特定的异常吗
- jmeter - JMeter - 边界提取器,其中右边界是行尾
- r - 将所有缺失的行插入数据表中以获取 2 列的值范围
- salesforce - 我们正在尝试从触发器更改联系人所有者
- or-tools - 在 MinCostFlow 求解器中,如果最大成本幅度太高,我如何提前预测?