2016-10-08 3 views
-1

У меня есть это: -питон re.search квантор

re.search("^[47]{2:}$", '447447') 

... и ожидал вернуть True. Но почему-то это не так.

Почему? Мое понимание заключается в том, что оно должно соответствовать любому числу, которое имеет любую комбинацию из 4 или 7, с не менее чем двумя цифрами. Правильно ли это?

ответ

3

Возможно, это должно быть "^[47]{2,}$".

Я часто нахожу страницу regular expression syntax, потому что мне трудно запомнить все маленькие трюки для создания регулярных выражений.

+0

аааа Thx за ссылку. Это действительно полезно. – lionel319

2

Синтаксис {m,n} где n может быть опущен.

Fix:

re.search("^[47]{2,}$", '447447') 

См RegEx синтаксис: https://docs.python.org/3/library/re.html#regular-expression-syntax

+0

Laurent, я думаю, вы имеете в виду, что * n * можно опустить:) Конечно, * m * также может быть опущен, но OP задает вопрос не менее чем из двух символов ... – wildwilhelm

+0

Да, это небольшая ошибка. Я это исправил. –

+0

спасибо. И спасибо за ссылку – lionel319