在http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html(看起来有点像Posix的官方规范),它列出了正则表达式必须支持的字符类,包括例如[:space:]
。
但是这些角色类定义在哪里?我在哪里可以确切地找到哪些字符[:space:]
应该匹配?我正在寻找一个真正的标准,而不是类似wiki的页面或某人的博客。感谢。
答案 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函数。