Я бы посоветовал вам проанализировать ваши строки и извлечь информацию в значимые части. Таким образом, вы можете использовать простой startswith
в части идентификатора вашей строки. Кроме того, это также позволит вам контролировать, где вы найдете эти префиксы, например, в случае, если строки содержат дополнительные данные, которые теоретически могут также содержать что-то похожее на идентификатор.
Примерно так:
if line.startswith('Hello my ID is '):
idx_start = line.index('[')
idx_end = line.index(']', idx_start)
idx_separator = line.index(':', idx_start, idx_end)
num = line[idx_start + 1:idx_separator]
ids = line[idx_separator + 2:idx_end].split(':')
print(num, ids)
Это даст вам следующий результат для ваших трех примерных строк:
123423819 ['AAAXX1234_3412']
738281937 ['AAAXX1234_3413', 'AAAXX1234_4212']
123423819 ['XXWWF1234_3098']
С этой информацией вы можете затем проверить идентификаторы для префикса:
if any(ids, lambda x: x.startswith('AAAXX1234')):
print('do something')