У меня есть следующее определение для идентификатора:
Identifier --> letter{ letter| digit}
В принципе у меня есть функция идентификатора, которая получает строку из файла и проверяет ее, чтобы убедиться, что она является допустимым идентификатором, как определено выше.
Я пробовал это:
if re.match('\w+(\w\d)?', i):
return True
else:
return False
но когда я запускаю свою программу каждый раз, когда она встречает целое число, она думает, что это действительный идентификатор.
Например
c = 0 ;
он печатает c
как допустимый идентификатор, который является точным, но также печатает 0
как допустимый идентификатор.
Что я здесь делаю неправильно?