Я пишу Laxer для C в Python и сталкиваюсь с этой проблемой:регулярного выражения числа ошибок идентификации питон
Это моя функция, чтобы определить число:
def t_INT_CONSTANT(t):
r'(\d+ | 0b[0-1]+)'
t.type = reserved_map.get(t.value,"INT_CONSTANT")
return t
Я использую его идентичность десятичные и двоичные целые числа ,
Проблема заключается в том, что когда выражение равно 0b101010, оно делает 0 int и идентификатор b101010 (другая функция определена выше этого).
Он хорошо работает с:
#r'(0b[0-1]+ | \d+)'
Что такое проблема с 1-го? Почему 2-я работа?