Is_prime функционируют через regex в Python (от жемчуга)

Я прочитал эту статью где /^1?$|^(11+?)\1+$/ Perl regex используется, чтобы протестировать, если число является простым или нет.

Процесс:

s = '1' * your_number

Если s matchs regex, затем это не является главным. Если это не делает, это является главным.

Как Вы перевели бы это regex в Python re модуль?

9
задан Tim Pietzcker 9 February 2010 в 07:56
поделиться

1 ответ

работает как есть (за исключением отсутствия косых черт на краях, которые не нужны на Python):

pattern = r'^1?$|^(11+?)\1+$'
re.match(pattern, '1'*10)    #matches
re.match(pattern, '1'*11)    #doesn't match

Единственная нестандартная функция регекса, необходимая здесь, это обратные ссылки (\1), и они поддерживаются как на Perl, так и на Python.

6
ответ дан 4 December 2019 в 23:39
поделиться