3

I would like to use the PCRE library, or something very similar, from Python scripts. These scripts would be for personal use so less portable, fast and concise code would be acceptable. How can I tell python to send a string and a regex to pcre and get the result returned?

4

1 回答 1

3

Tor,挖掘了这个老问题,因为它是一个很好的问题,对于任何想要将项目从 PHP 迁移到 python 的人来说仍然是及时的。

我也是 PCRE 的忠实粉丝。在 Python 上,re它是相当有限的,但好消息是还有一个名为的模块regex,它提供了 PCRE 的许多精彩功能,包括:

  1. 原子团
  2. 占有量词
  3. 递归
  4. 分支重置

还有更多,包括 PCRE 不提供的几个,例如类减法、可变长度后视和模糊匹配。

如果开发人员将项目付诸实施,Python 将突然配备一个出色的正则表达式引擎,这将使其对一直对从 PHP 转换持观望态度的正则表达式爱好者更具吸引力。

仔细阅读说明,因为该模块可以在两种模式下运行,一种是兼容re,另一种是所有酷炫的功能。您使用(?V0)或指定模式(?V1)

在 Unix 上,使用 pip 安装非常简单。在 Windows 上,我还没有设法让regex模块与 64 位 python 一起工作。我卸载了 2.7 和 3.3 的 64 位安装,重新安装了 32 位,并regex在两者上都安装了模块。

从这里出发的地方:

  1. 正则表达式模块的下载页面
  2. 关于 python 正则表达式模块的一个彻底的 SO 问题
于 2014-04-22T06:55:18.157 回答