Theo tài liệu Python
Python hiện không có hàm tương đương với scanf (). Biểu thức chính quy thường mạnh hơn, mặc dù cũng dài dòng hơn các chuỗi định dạng scanf (). Bảng dưới đây cung cấp một số ánh xạ tương đương ít nhiều giữa mã thông báo định dạng scanf () và biểu thức chính quy.
scanf () TokenRegular Expression
% c | . |
% 5c | . {5} |
% d | [- +]? \ d + |
% e,% E,% f,% g | [- +]? (\ d + (\. \ d *)? | \. \ d +) ([eE] [- +]? \ d +)? |
% i | [- +]? (0 [xX] [\ dA-Fa-f] + | 0 [0-7] * | \ d +) |
% o | [- +]? [0-7] + |
% s | \ S + |
% u | \ d + |
% x,% X | [- +]? (0 [xX])? [\ dA-Fa-f] + |
Để trích xuất tên tệp và số từ một chuỗi như
/usr/sbin/sendmail - 0 errors, 4 warnings
bạn sẽ sử dụng định dạng scanf () như
%s - %d errors, %d warnings
Biểu thức chính quy tương đương sẽ là
(\S+) - (\d+) errors, (\d+) warnings