Python re engin中/[\x00\x7F]/的保证行为

2024-05-16 00:57:56 发布

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

对于股票python3.5-3.x正则表达式引擎,我已经彻底测试了正则表达式

re.compile(r"[\x00-\x7F]", re.UNICODE)

匹配代码点U+0000到U+007F的所有单个字符,而不匹配其他字符,以及类似的正则表达式

^{pr2}$

匹配代码点U+0080到U+10FFFF的所有单个字符,而不匹配其他字符。然而,我不知道这是否是一次意外事故。Python的维护者是否对Unicode模式下regex字符类中范围表达式的含义做出了任何形式的官方声明?在

官方的re module documentation对范围的确切语义相当模糊,在其他regex实现中,例如POSIX BREs and EREs,范围表达式和ASCII范围之外的字符之间的交互是明确未指定的。在


Tags: 代码引擎re官方表达式unicode维护者字符