dateparser 抛出 regex._regex_core.error

use*_*205 4 python string date dateparser

我正在尝试运行一个非常基本的脚本:

import dateparser

dateparser.parse('12/12/12')
Run Code Online (Sandbox Code Playgroud)

但我不断收到同样的错误

Traceback (most recent call last):
  File ".../app/test.py", line 3, in <module>
    dateparser.parse('12/12/12')
  File ".../lib/python3.9/site-packages/dateparser/conf.py", line 92, in wrapper
    return f(*args, **kwargs)
  File ".../lib/python3.9/site-packages/dateparser/__init__.py", line 61, in parse
    data = parser.get_date_data(date_string, date_formats)
  File ".../lib/python3.9/site-packages/dateparser/date.py", line 428, in get_date_data
    parsed_date = _DateLocaleParser.parse(
  File ".../lib/python3.9/site-packages/dateparser/date.py", line 178, in parse
    return instance._parse()
  File ".../lib/python3.9/site-packages/dateparser/date.py", line 182, in _parse
    date_data = self._parsers[parser_name]()
  File ".../lib/python3.9/site-packages/dateparser/date.py", line 196, in _try_freshness_parser
    return freshness_date_parser.get_date_data(self._get_translated_date(), self._settings)
  File ".../lib/python3.9/site-packages/dateparser/date.py", line 234, in _get_translated_date
    self._translated_date = self.locale.translate(
  File ".../lib/python3.9/site-packages/dateparser/languages/locale.py", line 131, in translate
    relative_translations = self._get_relative_translations(settings=settings)
  File ".../lib/python3.9/site-packages/dateparser/languages/locale.py", line 158, in _get_relative_translations
    self._generate_relative_translations(normalize=True))
  File ".../lib/python3.9/site-packages/dateparser/languages/locale.py", line 172, in _generate_relative_translations
    pattern = DIGIT_GROUP_PATTERN.sub(r'?P<n>\d+', pattern)
  File ".../lib/python3.9/site-packages/regex/regex.py", line 700, in _compile_replacement_helper
    is_group, items = _compile_replacement(source, pattern, is_unicode)
  File ".../lib/python3.9/site-packages/regex/_regex_core.py", line 1736, in _compile_replacement
    raise error("bad escape \\%s" % ch, source.string, source.pos)
regex._regex_core.error: bad escape \d at position 7
Run Code Online (Sandbox Code Playgroud)

难道是dateparser和python之间的兼容版本?我正在使用 dateparser 1.1 和 python 3.9,dateparsers 的文档说它接受这个 python versoin。

Luk*_*mit 9

我们的团队刚刚遇到了这个问题,导致我们的生产服务器瘫痪。昨晚, 的依赖项之一dateparser更新regex 版本2022.3.15。Dateparser 安装正则表达式,但没有冻结版本。似乎最新版本的正则表达式不喜欢 dateparser 正在做的事情,导致您看到错误。通过regex==2022.3.2在 dateparser 之前安装 pip,这完全解决了我们的问题。