Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีตรวจสอบ String มีเฉพาะ Letters Numbers Underscores Dashes ใน Python

1. ใช้ Regex ^[A-Za-z0-9_-]*$

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

2. ใช้ Sets

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

ผลลัพธ์

False