在 http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html(看起来有点像 Posix 的官方规范),它列出了正则表达式中必须支持的字符类,包括例如
[:space:]
。
但是这些字符类是在哪里定义的呢?我在哪里可以明确找到
[:space:]
应该匹配哪些字符?我正在寻找一个实际的标准,而不是类似维基的页面或某人的博客。
该集合取决于区域设置。
POSIX 的详细信息如下: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html
空间
定义要分类为空白字符的字符。 在 POSIX 语言环境中,应准确包含、 、 、 、 和 。 在语言环境定义文件中,不应指定为关键字 upper、lower、alpha、digit、graph 或 xdigit 指定的字符。可移植字符集的
、 、 、 、 和 ,以及类空白中包含的任何字符都会自动包含在该类中。
除了前面提到的字符之外,语言环境还可以自由添加任意数量的水平或垂直“空格”字符,例如“不间断空格”、“固定宽度空格”等。
要了解给定字符是否属于此类,或者不在当前语言环境中,请使用 isspace 函数。