【问题标题】:Python SyntaxError: invalid syntax when implementing bbcodepyPython SyntaxError:实现 bbcodepy 时语法无效
【发布时间】:2021-05-11 04:44:00
【问题描述】:

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

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

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

【问题讨论】:

    标签: python bbcode


    【解决方案1】:

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

    你需要用 Python 2.7 执行你的代码,或者改为 line into:

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

    另请参阅:python version 3.4 does not support a 'ur' prefix

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多