print 打印时在shell输出端,看不到它。比如print \t执行后,shell输出端看不到\t,因为\t是一个制表符。像\t这类字符就是不可打印字符。
哪8个不可打印字符?
8个不可打印字符\cx,\f,\n,\r,\s,\S,\t、\v
\cx匹配由x指明的控制字符,x值必需为A-Z或a-z的大小写字符,\cA匹配一个Control-A控制字符
\f匹配一个换页符,leaf
\n匹配一个换行符,next
\r匹配一个回车符,enter
\t匹配一个制表符,table
\v匹配一个垂直制表符,vertical
\s匹配任何空白字符,等效于[\r\n\r\t\v]
\S匹配任何非空白字符
示例代码
#decoding:utf-8 #ex_re_unprintableSymbol.py self_file = __file__ import re #使用正则表达式模块 ######8个不可打印字符\cx,\f,\n,\r,\s,\S,\t、\v####### #\cx匹配由x指明的控制字符,x值必需为A-Z或a-z的大小写字符, #例如:\cA匹配一个Control-A控制字符 #\f匹配一个换页符,leaf #\n匹配一个换行符,next #\r匹配一个回车符,enter #\t匹配一个制表符,table #\v匹配一个垂直制表符,vertical #\s匹配任何空白字符,等效于[\r\n\r\t\v] #\S匹配任何非空白字符 #\S*?最短地去匹配不含空白字符的字符串 text = "hello world lo lo lo" ret = re.findall(r"\h\S*?o\b", text) print ret#["hello"] #\b\S*\S\b将一行文本的首尾处的任何空白字符都去掉 str = "\t\n\thello world\t\n\t\f" ret = re.findall(r"\b\S.*\S\b",str) print "=============================" print "xxx",ret,"xxx" print "=============================" print "kkk",str,"kkk" print "=============================" print "\nexit %s" % self_file
编译执行