代码:
1 import re 2 3 str1 = 'asdf12dvdve4gb4' 4 pattern1 = re.compile('\d+') 5 pattern2 = re.compile('[0-9]') 6 mch1 = pattern1.findall(str1) 7 mch2 = pattern2.findall(str1) 8 print('mch1:\t%s'% mch1) 9 print('mch2:\t%s'% mch2) 10 11 #输出结果 12 mch1: ['12', '4', '4'] 13 mch2: ['1', '2', '4', '4']
问题:
第8、9行的“t”, “%s” ,“%”表示什么意思?
\t表示输出一个tab,%s表示输出字符串
这是格式化输出,不是正则式
你问题中的不是正则表达式
\t 是转义字符
%s 是字符串格式化符号(格式化占位)
转义字符 | 描述 |
---|---|
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:x0a代表换行 |
\other | 其它的字符以普通格式输出 |
字符串格式化符号
符号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
Python 字符串