Python使用哪种正则表达式风格?

2024-05-13 20:18:06 发布

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

我想知道Python使用哪种RegEx风格?它是兼容PCRE、Perl还是ICU或其他什么?在


Tags: 风格perlregexpcreicu
3条回答

对Python的regex支持here有一个很好的概述。在

总结一下:

The only significant features missing from Python's regex syntax are atomic grouping, possessive quantifiers and Unicode properties.

原子分组和所有格量词并没有给语言增加多少表达能力。它们本质上是为了更简单和更快的正则表达式。在

Python正则表达式支持Unicode,因为您可以使用文本Unicode字符,如Æ,但不能在正则表达式本身中使用任何Unicode转义码。在

它与Perl兼容的足够w/Perl,这意味着大多数Perl表达式都可以正常工作。它的目标是与Perl兼容,但是,当然,有一些细微的区别。在

从技术上讲,它使用自己风格的正则表达式。例如,在其他实现采用这种语法之前很久,Python regex就提供了命名组。它还支持Unicode开箱即用。现在大多数Python扩展在其他地方都得到了支持。见http://docs.python.org/library/re.html

不幸的是,我不能直接回答这个评论,但是原子块是一个重要的特性(尽管很少有人了解它的功能),因为可以用它创建多字节字符序列。一、 e.在Windows中,换行符是\r\n

示例:/(?>;\r\n |\n |\r)\p{Any}/与\n\r或\r匹配,因为这是换行符和任何字符文字的组合,但它与\r\n不匹配,因为新行后面没有任何内容。在

相关问题 更多 >