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

复制代码 代码如下:

  import re

  def is_prime(num):

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

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

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