Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is_prime function via regex in python (from perl)

Tags:

python

regex

perl

I've read this article where the /^1?$|^(11+?)\1+$/ Perl regex is used to test if a number is prime or not.

Process:

s = '1' * your_number

If s matchs the regex, then it's not prime. If it doesn't, it's prime.

How would you translate that regex to Python's re module?

like image 743
Juanjo Conti Avatar asked Feb 08 '10 21:02

Juanjo Conti


1 Answers

It works as is (except without the slashes at the edges, which aren't needed in Python):

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

The only nonstandard regex feature needed here is backreferences (\1), and these are supported in both Perl and Python.

like image 169
interjay Avatar answered Sep 17 '22 15:09

interjay