Я получаю ложные срабатывания в python для следующего примера. Я пытаюсь найти, существует ли ключевое слово в строке. Проблема в том, что в строке есть слова, связанные обычно символом подчеркивания или дефиса, поэтому я хочу только получить положительный результат, если ключевое слово существует, если не словом. Он может быть окружен дефисом, подчеркиванием или чем-либо, что не является письмом, которое следует считать истинным результатом. Обычно он должен быть окружен подчеркиванием или дефис. Это не чувствительно к регистру.Python Regex - найти шаблон строки в слове
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?
Пожалуйста, имейте в виду, что это зацикливается на большом наборе данных, где производительность имеет значение.