繁体   English   中英

Python SyntaxError:实现 bbcodepy 时语法无效

[英]Python SyntaxError: invalid syntax when implementing bbcodepy

我得到了bbcodepy ,我可以修改它,但我不能在我的 main.py 中导入它。 我不断收到 SyntaxError 并且我真的不知道代码有什么问题,因为我没有编写它。 我只是想稍微修补一下,看看能不能满足我的需求。 是一张指向语法错误方向的图像。 但我注意到相同的代码写在同一行,我没有得到 SyntaxError。 这是代码:

_URL_RE = re.compile(ur'''\b((?:([\w-]+):(/{1,3})|www[.])(?:(?:(?:[^\s&()]|&amp;|&quot;)*(?:[^!"#$%&'()*+,.:;<=>?@\[\]^`{|}~\s]))|(?:\((?:[^\s&()]|&amp;|&quot;)*\)))+)''')

问题似乎是“ [^\s&()] ”,但只有第二个,而不是第一个。 如果您仔细查看代码,您会发现同样的事情出现了两次,但我只在第二次出现时得到了 SyntaxError。 请有人启发我。 几天来,我一直在尝试为 Python 找到一个不错的 BBCode 解析器,我相信这是我可以根据自己的需要进行修改的解析器。 我似乎无法让bbcode像我想要的那样工作,所以我正在尝试这个。

好吧,Python 3.4 及更高版本不支持“UR”前缀。

您需要使用 Python 2.7 执行您的代码,或更改为:

_URL_RE = re.compile(r'''\b((?:([\w-]+):(/{1,3})|www[.])(?:(?:(?:[^\s&()]|&amp;|&quot;)*(?:[^!"#$%&'()*+,.:;<=>?@\[\]^`{|}~\s]))|(?:\((?:[^\s&()]|&amp;|&quot;)*\)))+)''')

另请参阅: python 3.4 版不支持“ur”前缀

注意:考虑避免使用三引号字符串,因为如果插入换行符,它会改变正则表达式的含义(除非它是在 VERBOSE 模式下编译的)。

暂无
暂无

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

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