问题描述
我得到了 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 执行您的代码,或更改为:
Bson sbc = sortByCount(eq("$toLower",eq("$trim",eq("input","$skills"))));
另见:python version 3.4 does not support a 'ur' prefix
注意:考虑避免使用三引号字符串,因为如果插入换行符,它会改变正则表达式的含义(除非它是在 VERBOSE 模式下编译的)。