ตามเอกสารของ Python
ปัจจุบัน Python ไม่มีสิ่งที่เทียบเท่ากับ scanf() นิพจน์ทั่วไปมักจะมีประสิทธิภาพมากกว่า แม้ว่าจะมีรายละเอียดมากกว่าสตริงรูปแบบ scanf() ตารางด้านล่างนำเสนอการจับคู่ที่เทียบเท่าไม่มากก็น้อยระหว่างโทเค็นรูปแบบ scanf() และนิพจน์ทั่วไป
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]+ |
การดึงชื่อไฟล์และตัวเลขออกจากสตริงเช่น
/usr/sbin/sendmail - 0 errors, 4 warnings
คุณจะใช้รูปแบบ scanf() เช่น
%s - %d errors, %d warnings
นิพจน์ทั่วไปที่เทียบเท่าจะเป็น
(\S+) - (\d+) errors, (\d+) warnings