首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python3中使用re2

在Python3中使用re2
EN

Stack Overflow用户
提问于 2017-10-17 22:08:51
回答 1查看 4.4K关注 0票数 4

我需要在python3中使用re2。安装工作正常,但当我导入它时,我收到以下错误:

代码语言:javascript
复制
>>> import re2 as re
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "re2.pyx", line 1, in init re2 (src/re2.cpp:13681)
NameError: basestring

有人知道问题出在哪里吗?

EN

回答 1

Stack Overflow用户

发布于 2017-10-17 22:16:39

发布到PyPI的版本与Python3不兼容;basestring只存在于Python2中。这不是唯一的问题,修复一个以文本为中心的项目以适应Python3All-text- is -Unicode视图并非易事。

似乎特定的项目是未维护的;其他项目是have already reported the problem的,人们已经指出了不同的分支:https://github.com/andreasvc/pyre2

您可以直接从GitHub安装该项目:

代码语言:javascript
复制
pip install git+https://github.com/andreasvc/pyre2.git

请注意,您需要首先安装Cython才能编译该项目;与其他分支不同,生成的C++文件(来自re2.pyx文件)不会签入。只要运行pip install Cython即可。

您还可以考虑其他选择;也许regex module也能满足您的需求。regexre的临时替代品,具有额外的功能,比如极大地改进了对Unicode的支持。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46792200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档