Python 正则表达式在 Python 2 中有效,但在 Python 3 中无效

标签 python windows macos

expression = re.compile(ur'\?(.*)')

表达很简单,这个项目最初是在Mac上构建的。它在 Mac 上的 Python 2 中运行良好,但无法在 Windows (Python 3) 上运行,失败并显示

File "path/to/scrapy/spiders/spider.py", line 42
expression = re.compile(ur'\?(.*)')
                                 ^

最佳答案

我怀疑,这与 Mac 与 Windows 无关,与您用来运行此代码的 Python 版本有关

当我在 Python 2.7 上运行此代码时,它运行良好,没有任何问题。在 Python 3.5 上,我得到一个 SyntaxError (当然是由于 u 前缀):

  File "/Users/user/SO/test.py", line 3
    expression = re.compile(ur'\?(.*)')
                                     ^
SyntaxError: invalid syntax

检查您是否确实在两台计算机上使用 Python 2。

关于Python 正则表达式在 Python 2 中有效,但在 Python 3 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39296214/

相关文章:

嵌套循环和参数的 Python 多处理示例

python - 模糊匹配 pyspark 数据帧字符串中的单词

.net - 是否有具有相同公共(public)接口(interface)的 System.Drawing.Graphics 的直接替代品?

objective-c - 在 swift 中创建具有自定义 View 的 menulet osx 应用程序

cocoa - 将 CFPropertyList 保存到用户文件夹

python - 当发送给它的查询太长时,uWSGI 似乎会中断

python - 使用scrapy时出错

ruby-on-rails - 在 Windows 上安装 Ruby-Debug 时出现问题

通过网络解锁 Windows session

mysql - 升级 MySQL 后 MAMP MySQL 数据库消失了