对于以下示例,我在 python 中得到误报。我正在尝试查找字符串中是否存在关键字。问题是字符串中的单词通常由下划线或连字符连接,所以我只希望在关键字不存在时出现肯定的结果。它可以被连字符、下划线或任何不是字母的东西包围,被认为是真实的结果。通常它应该被下划线或连字符包围。它也不区分大小写。
test_list = ['server_test', 'server_dev', 'server_uat', 'server_dr', 'server-dr-NA', 'server-DR', 'dress_prod', 'testosterone','uatae','devacurl', 'dev_server']
结果应该输出这个 True/False 列表
[True, True, True, True, True, True, False, False, False, False, True]
执行:
key_words = ['uat','dr','test','qa','dev']
for name in test_list:
if any(x in name.lower() for x in key_words):
print('True')
else:
print('False')
结果:
True
True
True
True
True
True
True
True
True
True
在python中有没有更好的方法来做到这一点?
如果不是,我将如何在 python 中使用正则表达式来做到这一点?
请记住,这是在性能确实很重要的大型数据集上循环的。