[:graph:]在正则表达式中等于\ S吗?

Lon*_*ner 4 regex posix

http://www.regular-expressions.info/posixbrackets.html上有一个表格,它总结了所有POSIX括号表达式,并提供了等效的简写.

我无法理解为什么这不\S作为简写[:graph:].他们不一样吗?如果是的话,那么请您举例解释我们的不同之处吗?

fal*_*tru 6

[:graph:]是来自不同的角色类\S.

[:graph:]只匹配可见字符.但\S匹配任何非空格的字符(空格,换行符,字符返回,换行符,制表符,垂直制表符,...).

例如,[:graph:]与NUL,Backspace,BEL,...不匹配,但\S匹配它们.


使用regex包的Python示例(支持POSIX字符类):

>>> import regex
>>> regex.findall(r'[[:graph:]]', 'a \0 \a \b z')
['a', 'z']
>>> regex.findall(r'\S', 'a \0 \a \b z')
['a', '\x00', '\x07', '\x08', 'z']
Run Code Online (Sandbox Code Playgroud)