Вы можете использовать startswith
в вашем случае
email_subjects = ['Test:1', 'Test:25', 'not_valid!']
for email_subject in email_subjects:
if email_subject.startswith('Test:'):
print('valid email subjet', email_subject)
else:
print('invalid email subjet', email_subject)
Для заметки:
- подстрока * эквивалентна
string.startsWith(substring)
- * подстрока эквивалентна
string.endswith(substring)
- * подстрока * эквивалентна
substring in string
Если у вас есть более сложные паттерны, я предлагаю вам использовать модуль re
. Например, вы хотите сопоставить каждое: 'Test:X
с X числом от 1
до 25
import re
email_subjects = ['Test:1', 'Test:25', 'not_valid!', 'Test:52']
for email_subject in email_subjects:
if re.search(''^Test:([0-9]|1[0-9]|2[0-5])$'', email_subject): # Compiles to a regular expression and looks for it in email_subject
print('valid email subjet', email_subject)
else:
print('invalid email subjet', email_subject)
Распределение регулярных выражений:
^
Начальный символьный матч
Test:
Ваша строка, которую вы хотите соответствовать
([0-9]|1[0-9]|2[0-5])
: ваш диапазон, который означает: число от 0 до 9, или 1 и число от 0 до 9 (что означает от 10 до 19) или 2 и число от 0 до 5 (что означает от 20 до 25)
$
Конечный символ