Не будет ([1-9] ** | \ D *) {8} сделать это? Или я что-то здесь упускаю (что на самом деле является противоположностью ndim'у, который, похоже, должен работать)
Я предполагаю, что символы были выбраны, чтобы включать больше чем цифры.
Хорошо, так что это было неправильно, поэтому профессор Боло, я получил проходной балл? (Я люблю выражения reg, поэтому мне действительно любопытно).
>>> if re.match(r"(?:[^0]{8}?|[^0]{7}?|[^0]{6}?|[^0]{5}?|[^0]{4}?|[^0]{3}?|[^0]2}?|[^0]{1}?)", '00000000'):
print 'match'
...
>>> if re.match(r"(?:[^0]{8}?|[^0]{7}?|[^0]{6}?|[^0]{5}?|[^0]{4}?|[^0]{3}?|[^0]{2}?|[^0]{1}?)", '10000000'):
... print 'match'
match
>>> if re.match(r"(?:[^0]{8}?|[^0]{7}?|[^0]{6}?|[^0]{5}?|[^0]{4}?|[^0]{3}?|[^0]{2}?|[^0]{1}?)", '10011100'):
... print 'match'
match
>>>
Что за работа?