Python当前没有等效于scanf()的东西。正则表达式通常比scanf()格式的字符串更强大,但也更冗长。下表提供了scanf()格式标记和正则表达式之间的大致等效映射。
%C | 。 |
%5c | 。{5} |
%d | [-+]?\ d + |
%e,%E,%f,%g | [-+]?(\ d +(\。\ d *)?| \。\ d +)([eE] [-+]?\ d +)? |
%一世 | [-+]?(0 [xX] [\ dA-Fa-f] + | 0 [0-7] * | \ d +) |
%o | [-+]?[0-7] + |
%s | \ S + |
%u | \ d + |
%x,%X | [-+]?(0 [xX])?[\ dA-Fa-f] + |
从类似的字符串中提取文件名和数字
/usr/sbin/sendmail - 0 errors, 4 warnings
您将使用scanf()格式,例如
%s - %d errors, %d warnings
等效的正则表达式为
(\S+) - (\d+) errors, (\d+) warnings