是python中通过正则表达式实现的素数函数(来自perl)

是python中通过正则表达式实现的素数函数(来自perl),python,regex,perl,Python,Regex,Perl,我已经阅读了使用Perl正则表达式测试数字是否为素数的地方 过程: s = '1' * your_number 如果s与正则表达式匹配,则它不是素数。如果没有,那就是最好的 如何将该正则表达式转换为Python的re模块?它按原样工作(除了边缘没有斜线,这在Python中是不需要的): 这里唯一需要的非标准正则表达式特性是反向引用(\1),Perl和Python都支持这些特性。就在我想我已经看到了一切的时候……这里有一个更紧凑的prime测试all(范围(2,I)中d的I%d)@Mike正则表

我已经阅读了使用Perl正则表达式测试数字是否为素数的地方

过程:

s = '1' * your_number
如果
s
与正则表达式匹配,则它不是素数。如果没有,那就是最好的

如何将该正则表达式转换为Python的
re
模块?

它按原样工作(除了边缘没有斜线,这在Python中是不需要的):


这里唯一需要的非标准正则表达式特性是反向引用(
\1
),Perl和Python都支持这些特性。

就在我想我已经看到了一切的时候……这里有一个更紧凑的prime测试
all(范围(2,I)中d的I%d)
@Mike正则表达式与反向引用匹配是NP难的:请参见,哦,我的上帝。。。这很糟糕,但令人印象深刻。谢谢,我遇到了问题,因为我忘记了rawr的r。有人能解释为什么被删除的答案是错误的(假设它被删除是因为它是错误的)?
pattern = r'^1?$|^(11+?)\1+$'
re.match(pattern, '1'*10)    #matches
re.match(pattern, '1'*11)    #doesn't match