Nếu bạn muốn tránh sử dụng regex, bạn có thể thử giải pháp tự giải thích này
allowed_characters=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9','0','[',']','$','%','_','/']
password=input["enter password: "]
if any[x not in allowed_characters for x in password]:
print["error: invalid character"]
else:
print["no error"]
Trong hướng dẫn này, chúng tôi sẽ xem xét cách kiểm tra xem một chuỗi chỉ chứa một số ký tự nhất định trong Python với sự trợ giúp của một số ví dụ.
Bạn có thể sử dụng kết hợp hàm
# string s = "ababaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]2 và toán tử thành viên,
# string s = "ababaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]3 để kiểm tra xem một chuỗi chỉ chứa một số ký tự nhất định trong Python. Sử dụng các bước sau -
- Tạo một tập hợp [hoặc một chuỗi] chứa các ký tự được phép.
- Lặp lại thông qua các ký tự trong chuỗi và sử dụng toán tử thành viên
# string s = "ababaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]
4 để kiểm tra xem ký tự có nằm trong bộ ký tự được phép không. - Sử dụng chức năng python tích hợp
# string s = "ababaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]
2 để trả về# string s = "ababaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]
6 chỉ khi tất cả các ký tự trong chuỗi có mặt trong các ký tự được phép.
Hãy cùng nhìn vào một ví dụ.
# string s = "ababaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]
Output:
True
Ở đây, chúng ta nhận được
# string s = "ababaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]6 làm đầu ra vì tất cả các ký tự trong chuỗi
# string s = "ababaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]8 đều có trong các ký tự được phép.
Hãy cùng nhìn vào một ví dụ khác.
# string s = "abcbaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]
Output:
False
Ở đây, chúng ta nhận được
# string s = "ababaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]9 là đầu ra vì ký tự C C không có trong các ký tự được phép.
Chúng tôi có thể sửa đổi chuỗi ký tự được phép phù hợp với trường hợp sử dụng cụ thể của chúng tôi. Ví dụ: nếu bạn muốn kiểm tra xem chuỗi chỉ chứa các chữ số, bạn có thể sử dụng trò chơi 0123456789 hay làm chuỗi ký tự cho phép của bạn.
# string s = "1150" # string with only allowed characters allowed_s = "0123456789" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]
Output:
True
Lưu ý rằng đối với trường hợp sử dụng ở trên, bạn cũng có thể chỉ sử dụng trực tiếp hàm isDigit [].
Bạn cũng có thể quan tâm đến -
- Python - Kiểm tra xem chuỗi chỉ chứa các chữ cái
- Python - Kiểm tra xem một chuỗi có chứa các số không
- Kiểm tra xem một chuỗi có chứa một chuỗi con trong Python không
Đăng ký nhận bản tin của chúng tôi để biết thêm hướng dẫn và hướng dẫn thông tin. Chúng tôi không spam và bạn có thể từ chối bất cứ lúc nào.
We do not spam and you can opt out any time.
Piyush là một nhà khoa học dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trong quá khứ, anh ta làm việc như một nhà khoa học dữ liệu cho ZS và có bằng kỹ sư từ IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trên các dự án phụ.
Xem tất cả các bài viết
Chỉ cho phép các chữ cái khi lấy đầu vào của người dùng trong Python #
Chỉ cho phép các chữ cái khi lấy đầu vào của người dùng:
- Sử dụng vòng lặp
True
0 để lặp lại cho đến khi người dùng chỉ nhập các chữ cái. - Sử dụng phương thức
True
1 để kiểm tra xem người dùng chỉ nhập các chữ cái. - Nếu điều kiện được đáp ứng, thoát ra khỏi vòng lặp.
Copied!
user_input = '' while True: user_input = input['Enter letters only: '] if not user_input.isalpha[]: print['Enter only letters'] continue else: print[user_input] break
Chúng tôi đã sử dụng vòng lặp
True0 để lặp lại cho đến khi người dùng chỉ nhập các chữ cái.
Trên mỗi lần lặp, chúng tôi kiểm tra xem người dùng không chỉ nhập các chữ cái và sử dụng câu lệnh True
3 nếu điều kiện được đáp ứng.
Tuyên bố
True3 tiếp tục với lần lặp tiếp theo của vòng lặp.
Phương thức str.isalpha [] trả về
# string s = "ababaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]6 Nếu tất cả các ký tự trong chuỗi là chữ cái và có ít nhất một ký tự, nếu không
# string s = "ababaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]9 được trả về.
Copied!
print['avocado'.isalpha[]] # 👉️ True # 👇️ contains space print['one two'.isalpha[]] # 👉️ False
Nếu bạn cũng muốn cho phép khoảng trống, hãy cuộn xuống đoạn mã cuối cùng.
Nếu người dùng chỉ nhập các chữ cái, chúng tôi in giá trị đầu vào và thoát ra khỏi vòng lặp.
Tuyên bố phá vỡ thoát ra khỏi vòng lặp
True7 hoặc
True0.
Hàm đầu vào có một đối số
True9 tùy chọn và ghi nó vào đầu ra tiêu chuẩn mà không cần một dòng mới.
Ngoài ra, bạn có thể sử dụng một biểu thức thông thường.
Copied!
import re user_input = '' while True: user_input = input['Enter letters only: '] if not re.match[r'^[a-zA-Z]+$', user_input]: print['Enter only letters'] continue else: print[user_input] break
Snippet mã đạt được kết quả tương tự nhưng sử dụng biểu thức chính quy để xác thực đầu vào của người dùng.
Nếu bạn cũng muốn cho phép không gian, hãy sử dụng biểu thức thông thường sau.
# string s = "ababaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]0
Phương thức Re.Match trả về một đối tượng
# string s = "abcbaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]0 nếu biểu thức thông thường được cung cấp được khớp trong chuỗi.
Phương thức
# string s = "abcbaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]0 trả về
# string s = "abcbaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]2 nếu chuỗi không khớp với mẫu regex.
Đối số đầu tiên chúng tôi đã chuyển cho
# string s = "abcbaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]3Method là một biểu thức chính quy.
Các dấu ngoặc vuông
# string s = "abcbaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]4 được sử dụng để chỉ ra một tập hợp các ký tự.
Các ký tự # string
s = "abcbaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
5 và # string
s = "abcbaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
6 đại diện cho phạm vi chữ thường và chữ hoa của các chữ cái.
CARET
# string s = "abcbaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]7 phù hợp với sự khởi đầu của chuỗi và dấu đô la
# string s = "abcbaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]8 khớp với phần cuối của chuỗi.
Cộng với
# string s = "abcbaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]9 làm cho biểu thức chính quy khớp với 1 hoặc nhiều sự lặp lại của ký tự trước [phạm vi chữ cái].
# string s = "ababaaaab" # string with only allowed characters allowed_s = "ab" # check if s contains only allowed characters print[all[ch in allowed_s for ch in s]]0
Ký tự
False0 phù hợp với các ký tự khoảng trắng unicode như
False1.
Nếu người dùng không chỉ nhập các chữ cái, chúng tôi sẽ sử dụng câu lệnh
True3 để nhắc chúng lại để nhập.
Mặt khác, chúng tôi sử dụng câu lệnh
False3 để thoát khỏi vòng lặp
True0.
Nếu bạn cần trợ giúp đọc hoặc viết một biểu thức chính quy, hãy tham khảo ý kiến phân nhóm cú pháp biểu thức thông thường trong các tài liệu chính thức.
Trang chứa một danh sách tất cả các ký tự đặc biệt với nhiều ví dụ hữu ích.