Posix正则表达式类定义的规范性参考?

时间:2017-02-21 13:24:09

标签: regex posix

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html(看起来有点像Posix的官方规范),它列出了正则表达式必须支持的字符类,包括例如[:space:]

但是这些角色类定义在哪里?我在哪里可以确切地找到哪些字符[:space:]应该匹配?我正在寻找一个真正的标准,而不是类似wiki的页面或某人的博客。感谢。

1 个答案:

答案 0 :(得分:0)

此集合取决于区域设置。

这里详细介绍POSIX: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html

  

空间
  定义要分类为空白字符的字符。   在POSIX语言环境中,恰好是< space>,< form-feed>,< newline>,< carriage-return>,< tab>和< vertical-tab>应包括在内。

     

在区域设置定义文件中,不应指定为关键字upper,lower,alpha,digit,graph或xdigit指定的字符。 < space>,< form-feed>,< newline>,< carriage-return>,< tab>和< vertical-tab>可移植字符集,以及类空白中包含的任何字符都自动包含在此类中。

除了前面提到的字符,语言环境可以自由添加任意数量的水平或垂直空间"字符,例如"非破坏空间","固定宽度空间"和类似的。

要知道某个给定字符是否属于当前语言环境中此类的一部分,请使用isspace函数。