哪个是POSIX Regex [:alpha:]字符类的精确定义?

时间:2015-11-11 16:25:31

标签: regex posix

我不清楚POSIX [:alpha:] Regex字符类是否严格等同于所有语言环境或字符集中的Regex表达式[a-zA-Z],或者如果语言环境或字符还包含重音字符有问题的设置允许重音字符。

focused specs的规范只提到它应该得到所有语言环境的支持,但不包括它所包含的内容。

是否有明确定义[:alpha:]字符类确切含义的权威位置?

1 个答案:

答案 0 :(得分:1)

2013 spec, 9.3.5.7

  

在POSIX语言环境中,范围表达式表示集合   整理归类中两个元素之间的元素   顺序,包容性。 在其他语言环境中,范围表达式具有   未指明的行为:严格符合要求的应用程序不得依赖   关于范围表达式是有效还是在整理集上   元素匹配。

(强调补充。)

因此,在POSIX语言环境之外,严格来说,[a-zA-Z]不是偶数 定义。 (当然,因为这些都是ASCII字符,在实践中 我希望它在任何语言环境中都意味着相同的东西;但考虑一下 EBCDIC,这些字符甚至不连续。所以有可能 是例外。)

[:alpha:]的确切含义取决于区域设置,有很多, 许多语言环境,由各种实体定义。我当然不会 关于[:alpha:]在任何情况下所包含或未包含的内容的任何假设 POSIX以外的语言环境。