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