исключение "плохой диапазон символов"? - PullRequest
2 голосов
/ 06 октября 2009

Ошибка:

Exception Value:     bad character range
Exception Location:  /usr/lib/python2.6/re.py in _compile, line 245
Python Executable:   /usr/bin/python

Я понятия не имею, что это значит. Может ли кто-нибудь рискнуть угадать или указать мне правильное направление?

Раньше все работало нормально ... Я изменил только несколько тривиальных фрагментов кода! : S

if "-" in stop:
    dt1 = datetime.strptime(stop, "%Y-%m-%dT%H:%M:%S")
    stopInS = time.mktime(dt1.timetuple())
    stopInMS = int(startInS) * 1000
else:
    splitter = re.compile(r'[\D]')
    preStop = splitter.split(stop)
    stopInMS = ''.join(preStop)

Я просто играл с двойными кавычками перед 'in' ... потом все рухнуло с этой ошибкой.

EDIT:

Еще одно регулярное выражение:

    splitter1 = re.compile('[:]')
    arrayOfIDs = splitter1.split(identifier)
    idLens = len(arrayOfIDs)

1 Ответ

7 голосов
/ 06 октября 2009

Исключение, которое вы получаете, состоит в том, что модуль Python re.py не может где-то скомпилировать регулярное выражение, потому что у вас плохой диапазон символов.

Диапазоны символов - это такие вещи, как [a-z0-9] (принимает строчные буквы или цифры).

Например:

import re
re.compile('[a-0]')

вызывает исключение bad character range, которое вы получаете. Ищите где-то, где вы создаете диапазон символов, который не имеет смысла (это не [:], это прекрасно компилируется).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...