Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách verify chuỗi chỉ chứa chữ, số, underscore và dash trong Python?

Bạn có thể dùng regular expressions để thực hiện tác vụ này. Để verify chuỗi chỉ chứa chữ, số, underscore và dash, ta dùng regex: "^[A-Za-z0-9_-]*$".

Ví dụ

import re
print(bool(re.match("^[A-Za-z0-9_-]*$", 'aValidString123--__')))
print(bool(re.match("^[A-Za-z0-9_-]*$", 'inv@lid')))

Kết quả

True
False

Bạn cũng có thể đạt được kết quả này bằng Sets. Khai báo set bằng các ký tự bạn muốn cho phép và dùng code sau:

Ví dụ

from sets import Set
allowed_chars = Set('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-')
validationString = 'inv@lid'
if Set(validationString).issubset(allowed_chars):
    print(True)
else:
    print(False)

Kết quả

Điều này sẽ cho ra kết quả:

False