Python SyntaxError: invalid syntax when implementing bbcodepy
Python SyntaxError: invalid syntax when implementing bbcodepy
我得到了 bbcodepy,我可以修改它,但我无法将它导入我的 main.py。我一直收到 SyntaxError,我真的不知道代码有什么问题,因为我没有编写它。我只是想稍微修修补补一下,看看是否可以满足我的需求。
Here 的图像指出了语法错误的方向。但是我注意到相同的代码写在同一行上,但我没有得到 SyntaxError。这是代码:
_URL_RE = re.compile(ur'''\b((?:([\w-]+):(/{1,3})|www[.])(?:(?:(?:[^\s&()]|&|")*(?:[^!"#$%&'()*+,.:;<=>?@\[\]^`{|}~\s]))|(?:\((?:[^\s&()]|&|")*\)))+)''')
问题似乎是“[^\s&()]”,但只有第二个,而不是第一个。如果您仔细查看代码,您会发现同样的事情出现了两次,但我只在第二次出现时得到 SyntaxError。请有人赐教。几天来,我一直在努力为 Python 寻找一个像样的 BBCode 解析器,我相信这是我可以根据需要修改的。我似乎无法让 bbcode 像我想要的那样工作,所以我正在尝试这个。
嗯,Python 3.4 及以上版本不支持 'UR' 前缀。
您需要使用 Python 2.7 执行您的代码,或更改为:
_URL_RE = re.compile(r'''\b((?:([\w-]+):(/{1,3})|www[.])(?:(?:(?:[^\s&()]|&|")*(?:[^!"#$%&'()*+,.:;<=>?@\[\]^`{|}~\s]))|(?:\((?:[^\s&()]|&|")*\)))+)''')
另请参阅:python version 3.4 does not support a 'ur' prefix
注意:考虑避免使用三引号引起来的字符串,因为如果插入换行符,它会改变正则表达式的含义(除非它是在 VERBOSE 模式下编译的)。
我得到了 bbcodepy,我可以修改它,但我无法将它导入我的 main.py。我一直收到 SyntaxError,我真的不知道代码有什么问题,因为我没有编写它。我只是想稍微修修补补一下,看看是否可以满足我的需求。 Here 的图像指出了语法错误的方向。但是我注意到相同的代码写在同一行上,但我没有得到 SyntaxError。这是代码:
_URL_RE = re.compile(ur'''\b((?:([\w-]+):(/{1,3})|www[.])(?:(?:(?:[^\s&()]|&|")*(?:[^!"#$%&'()*+,.:;<=>?@\[\]^`{|}~\s]))|(?:\((?:[^\s&()]|&|")*\)))+)''')
问题似乎是“[^\s&()]”,但只有第二个,而不是第一个。如果您仔细查看代码,您会发现同样的事情出现了两次,但我只在第二次出现时得到 SyntaxError。请有人赐教。几天来,我一直在努力为 Python 寻找一个像样的 BBCode 解析器,我相信这是我可以根据需要修改的。我似乎无法让 bbcode 像我想要的那样工作,所以我正在尝试这个。
嗯,Python 3.4 及以上版本不支持 'UR' 前缀。
您需要使用 Python 2.7 执行您的代码,或更改为:
_URL_RE = re.compile(r'''\b((?:([\w-]+):(/{1,3})|www[.])(?:(?:(?:[^\s&()]|&|")*(?:[^!"#$%&'()*+,.:;<=>?@\[\]^`{|}~\s]))|(?:\((?:[^\s&()]|&|")*\)))+)''')
另请参阅:python version 3.4 does not support a 'ur' prefix
注意:考虑避免使用三引号引起来的字符串,因为如果插入换行符,它会改变正则表达式的含义(除非它是在 VERBOSE 模式下编译的)。