如何在 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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP