如何在Python中驗證字串只包含字母、數字、下劃線和短橫線?
在本文中,我們將瞭解如何在Python中驗證只包含字母、數字、下劃線和短橫線的字串。
第一種方法使用正則表示式。要使用re庫,請匯入它,如果尚未安裝則安裝它。匯入re庫後,我們使用正則表示式“^[A-Za-z0-9_-]*$”。
如果字串包含除字母和數字以外的任何特殊字元,則返回False;否則,返回True。
示例1
在下面的示例中,我們接受一個字串作為輸入,並使用正則表示式檢查它是否只包含字母、數字、下劃線和短橫線。
import re
str1 = "Tutorialspoint123__"
print("The given string is:")
print(str1)
print("Checking if it contains only letters, numbers, underscores, and dashes")
res = bool(re.match("^[A-Za-z0-9_-]*$", str1))
print(res)
輸出
上述示例的輸出如下所示:
The given string is: Tutorialspoint123__ Checking if it contains only letters, numbers, underscores, and dashes True
示例2
在下面的示例中,我們使用與上面相同的程式,並接受另一個字串作為輸入。
import re
str1 = "Tutorialspoint@123"
print("The given string is:")
print(str1)
print("Checking if it contains only letters, numbers, underscores, and dashes")
res = bool(re.match("^[A-Za-z0-9_-]*$", str1))
print(res)
輸出
上述示例的輸出如下:
The given string is: Tutorialspoint@123 Checking if it contains only letters, numbers, underscores, and dashes False
使用集合
第二種方法是使用集合。我們將宣告一個包含所有可接受字元的集合,然後檢查輸入字串是否是可接受字元的子集,如果是子集則列印True,否則列印False。
示例1
在下面的示例中,我們接受一個字串作為輸入,並使用集合檢查它是否只包含字母、數字、下劃線和短橫線。
acceptable_chars = set('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-')
str1 = "Tutorialspoint123__"
print("The given string is")
print(str1)
validation = set(str1)
print("Checking if it contains only letters, numbers, underscores, and dashes")
if validation.issubset(acceptable_chars):
print(True)
else:
print(False)
輸出
上述示例的輸出如下:
The given string is Tutorialspoint123__ Checking if it contains only letters, numbers, underscores, and dashes True
示例2
在下面的示例中,我們使用與上面相同的程式,並接受另一個字串作為輸入:
acceptable_chars = set('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-')
str1 = "Tutorialspoint@123"
print("The given string is")
print(str1)
validation = set(str1)
print("Checking if it contains only letters, numbers, underscores, and dashes")
if validation.issubset(acceptable_chars):
print(True)
else:
print(False)
輸出
上述示例的輸出如下:
The given string is Tutorialspoint@123 Checking if it contains only letters, numbers, underscores, and dashes False
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP