复制代码 代码如下: import re def is_prime(num): return not re.match(r"^1?$|^(11+?)\1+$", '1' * num) 这个正则表达式实际上表示所有合数长度的"1"串(还包括特例"1")。 (11+?)表示所有大于等于2的整数,
import re
def is_prime(num):
return not re.match(r"^1?$|^(11+?)\1+$", '1' * num)
这个正则表达式实际上表示所有合数长度的"1"串(还包括特例"1")。
(11+?)表示所有大于等于2的整数,后面接着的\1+表示重复一次以上——这不就是所有合数吗~~