Bạn có thể kiểm tra xem chuỗi chỉ chứa các ký tự cho phép bằng cách dùng Sets. Khai báo một set bằng các ký tự bạn muốn cho phép. Ví dụ nếu chúng ta muốn kiểm tra xem chuỗi chỉ chứa 1, 2, 3 và 4, chúng ta có thể dùng:
Ví dụ
from sets import Set
allowed_chars = Set('1234')
validationString = '121'
if Set(validationString).issubset(allowed_chars):
print(True)
else:
print(False)
Kết quả
Điều này sẽ cho ra kết quả:
True
Bạn cũng có thể dùng regex cho cùng kết quả. Để khớp chỉ 1, 2, 3 và 4, ta gọi re.match(regex, string) với regex: "^[1234]+$".
Ví dụ
import re
print(bool(re.match('^[1234]+$', '123abc')))
print(bool(re.match('^[1234]+$', '123')))
Kết quả
False True
Lưu ý rằng regex có dùng đặc biệt cho một số ký tự và do đó yêu cầu escape chúng. re.match trả về object, để kiểm tra nó tồn tại hay không, chúng ta cần chuyển nó thành boolean bằng bool().