[英]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.