繁体   English   中英

使用正则表达式模块的奇怪Python行为

[英]Strange Python behaviour with regex module

我一直在玩Matthew Barnett 改进的Python 正则表达式模块 ,发现了一个奇怪的错误(行为?bug?)。
请考虑以下代码:

import regex as re
string = "liberty 123, equality 123, fraternity 123"
rx = r'\d+(?=,|$)'
results = re.findall(rx, string)
print (results)

当从我的Mac上的命令行( python regex.py )调用时,我得到错误AttributeError: 'module' object has no attribute 'findall' ,而当我将完全相同的代码复制并粘贴到python shell时,它正确输出

['123', '123', '123']

有人可以请我好吗? 这是我在这里遗漏的一些显而易见的事吗?

您不能将模块命名为与系统模块相同的名称。 将文件regex.py重命名为其他内容,例如my_regex.py ,然后删除文件regex.pyc (如果存在)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM