Согласно моему комментарию, срок действия зависит от версии Excel. Более новые версии имеют диапазон столбцов A-XDF
и строки от 1-1048576
. Это может быть необязательно в вашем проекте, но для дальнейшего использования это может быть полезно:
Шаблон регулярного выражения: ^([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([1-9]\d{0,6})$
Для визуализации этого:
В первой группе указывается ссылка на столбец для Excel 2010 и более поздних версий, равная A-XDF
, а во второй группе указывается часть числительного c, которая всегда должна начинаться с 1-9
, за которым следуют от 0 до 6 символов, но не может превышать 1048576
.
В полном объеме вы могли бы подумать о:
import re
def is_valid_excel_cell(c):
m = re.match(r'^([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([1-9]\d{0,6})$',c)
return bool(m) and int(m.group(2)) < 1048577