python中的ICU正则表达式

2024-06-02 08:57:57 发布

您现在位置:Python中文网/ 问答频道 /正文

有可能在python3中运行与ICU兼容的regex吗? 例如,下面的正则表达式对于默认Python的正则表达式库不是很好,但是C++ C++ ICIB:

可以正常工作
import re
re.compile("(?<=(AA|BBB)12345)")

# Result: sre_constants.error: look-behind requires fixed-width pattern

我有许多这样的正则表达式为ICU regex lib编写,我想在python上运行。有人知道怎么做或者如何将它们自动迁移到python regex格式吗?在

非常感谢!在


Tags: importreerrorresultpython3regexaasre
1条回答
网友
1楼 · 发布于 2024-06-02 08:57:57

Wiktor在上述评论中给出的解决方案有效。 复制:

  1. 安装regex库:pip Install regex
  2. 在python shell中运行以下命令:
>>> import regex
>>> r=regex.compile("(?<=(AA|BBB)12345)")
>>> r.findall('AA12345')
['AA']
>>> r.findall('BBB12345')
['BBB']
>>> r.findall('CCC12345')
[]

相关问题 更多 >