用正则表达式来判断素数的代码

时间:2022-09-19 09:29:36

复制代码 代码如下:


import re
def is_prime(num):
return not re.match(r"^1?$|^(11+?)\1+$", '1' * num)


这个正则表达式实际上表示所有合数长度的"1"串(还包括特例"1")。

(11+?)表示所有大于等于2的整数,后面接着的\1+表示重复一次以上——这不就是所有合数吗~~