我已阅读this article,/^1?$|^(11+?)\1+$/
Perl正则表达式用于测试数字是否为素数。
流程:
s = '1' * your_number
如果s
与正则表达式匹配,那么它不是素数。如果没有,那就是素数。
您如何将该正则表达式转换为Python的re
模块?
答案 0 :(得分:6)
它按原样工作(除了没有边缘的斜线,Python中不需要):
pattern = r'^1?$|^(11+?)\1+$'
re.match(pattern, '1'*10) #matches
re.match(pattern, '1'*11) #doesn't match
此处所需的唯一非标准正则表达式功能是反向引用(\1
),Perl和Python都支持这些功能。