Я хочу проверить 8-символьную строку со следующими ограничениями по позиции:
- Первая позиция должна быть одной из следующих букв:
A/M/P/B/S
- Вторая и третья позиция – буквы от
AA
доZZ
. - Четвертая позиция содержит число от
1
до4
- Пятая позиция содержит число от
1
до4
- Шестая-восьмая позиция должна быть числом
000
-999
Если он не совпадает, он вернет FALSE
. Вот мой код:
import re
text = input("input:")
print(text)
check = re.search("[^S|B|M|P|A][AA-ZZ][1-4][1-4][000-999]", text)
if check:
print("TRUE")
else:
print("FALSE")
Пример: AIK22001 Значение Uotput должно быть «True».
Здесь я попытался использовать библиотеку regex Python, но результат был неправильным. Он возвращает False
вне зависимости от ожидаемого значения True
.
^[AMPBS][A-Z]{2}[1-4]{2}\d{3}$
- person Hao Wu   schedule 18.02.2021if len(text) == 8
, проверка не определена. Так что это не удастся. Он войдет и выполнит re.search только в том случае, если длина строки не равна 8. Сначала вы хотите это исправить. - person Joe Ferndz   schedule 18.02.2021