【问题标题】:Is_prime function via regex in python (from perl)Is_prime 函数通过 python 中的正则表达式(来自 perl)
【发布时间】:2010-02-08 21:35:35
【问题描述】:

我读过this article,其中/^1?$|^(11+?)\1+$/ Perl 正则表达式用于测试一个数字是否为质数。

流程:

s = '1' * your_number

如果s 匹配正则表达式,那么它不是素数。如果没有,那就是素数。

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

【问题讨论】:

标签: python regex perl


【解决方案1】:

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

pattern = r'^1?$|^(11+?)\1+$'
re.match(pattern, '1'*10)    #matches
re.match(pattern, '1'*11)    #doesn't match

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

【讨论】:

  • 谢谢,我遇到了问题,因为我忘记了 raw 的 r
  • 谁能解释为什么删除的答案stackoverflow.com/questions/2225027/…是错误的(假设它是因为错误而被删除的)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-07
  • 1970-01-01
  • 2020-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多