Pythonのreモジュールでパスワード合格検証プログラムを実現
1888 ワード
一、需要
ユーザーが入力したパスワードが要求に合っているかどうかを確認します.パスワードの要求は次のとおりです.
1.8文字以下
2.大文字と小文字、数字、下線のみを含めることができます
3.大文字、小文字、数字の3つのタイプには、少なくとも2つのタイプが含まれます.
二、基礎知識
reモジュール(正規表現)は、文字列が何らかのルールに合致しているかどうかを検証するために使用でき、パスワード合格検証プログラムで良い役割を果たすことができます.
このケースでは主にfindall()とsearchの2つの関数を使用します.次に、この2つの関数を簡単に紹介します.
findall(シーケンス、検証する文字列)
この関数を使用して、文字列に指定したシーケンスの文字が含まれているかどうかを確認し、結果はリストであり、リストには条件に合致するすべての文字が含まれています.
端末:['i','c','h','a','e','l','a','c','k','o','n']戻る結果はMichael Jacksonのすべての小文字で、繰り返しても計算されます
search(シーケンス、検証する文字列)
この関数がfindallと異なるのは、文字列の中で最初の条件に合った文字に出会ったら戻り、探し続けることができないことです.また,返されるデータはリスト形式ではなく,マッチングの結果を容易に観察するためにgroup()法を借りることができる.
端末:i#Michael Jacksonで最初の小文字iが見つかりました
三、コード実装
ユーザーが入力したパスワードが要求に合っているかどうかを確認します.パスワードの要求は次のとおりです.
1.8文字以下
2.大文字と小文字、数字、下線のみを含めることができます
3.大文字、小文字、数字の3つのタイプには、少なくとも2つのタイプが含まれます.
二、基礎知識
reモジュール(正規表現)は、文字列が何らかのルールに合致しているかどうかを検証するために使用でき、パスワード合格検証プログラムで良い役割を果たすことができます.
このケースでは主にfindall()とsearchの2つの関数を使用します.次に、この2つの関数を簡単に紹介します.
findall(シーケンス、検証する文字列)
この関数を使用して、文字列に指定したシーケンスの文字が含まれているかどうかを確認し、結果はリストであり、リストには条件に合致するすべての文字が含まれています.
import re
result=re.findall('[a-z]','Michael Jackson')
# Michael Jackson ,[a-z] a z26
print(result)
端末:['i','c','h','a','e','l','a','c','k','o','n']戻る結果はMichael Jacksonのすべての小文字で、繰り返しても計算されます
search(シーケンス、検証する文字列)
この関数がfindallと異なるのは、文字列の中で最初の条件に合った文字に出会ったら戻り、探し続けることができないことです.また,返されるデータはリスト形式ではなく,マッチングの結果を容易に観察するためにgroup()法を借りることができる.
import re
result=re.search('[a-z]','Michael Jackson')
print(result.group())
端末:i#Michael Jacksonで最初の小文字iが見つかりました
三、コード実装
import re
# judge
def judge(password):
if len(password)<8:
print(' 8 ')
# : , , findall ; , findall ( )
elif len(re.findall('[A-Za-z0-9_]',password))=2:
print(' ')
else:
print(' , 、 ')
password=input(''' . :
1. 8
2. 、
3. 、 、
>>>''')
judge(password)