Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで文字列に文字、数字、アンダースコア、ダッシュのみが含まれていることを確認するにはどうすればよいですか?


正規表現を使用して、このタスクを実行できます。文字列に文字、数字、アンダースコア、ダッシュのみが含まれていることを確認するために、次の正規表現を使用できます: "^ [A-Za-z0-9 _-]*$"。

import re
print(bool(re.match("^[A-Za-z0-9_-]*$", 'aValidString123--__')))
print(bool(re.match("^[A-Za-z0-9_-]*$", 'inv@lid')))
出力
True
False
セットを使用してこの結果を取得することもできます。許可する文字を使用してセットを宣言し、次のコードを使用します-

from sets import Set
allowed_chars = Set('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-')
validationString = 'inv@lid'
if Set(validationString).issubset(allowed_chars):
    print True
else:
    print False
出力 これで結果が得られます-

False

  1. Pythonで文字列にアルファベットまたは数字が含まれているかどうかを確認するにはどうすればよいですか?

    Python Stringクラスには、文字列に対して呼び出すことができるisalnum()というメソッドがあり、文字列が英数字のみで構成されているかどうかを通知します。次の方法で呼び出すことができます: print( '123abc'.isalnum()) 出力 True print('123#$%abc'.isalnum()) 出力 False 同じ結果に正規表現を使用することもできます。アルファ数値を照合するには、正規表現 ^ [a-zA-Z0-9] + $を使用してre.match(regex、string)を呼び出すことができます。たとえば、 im

  2. Python例外メッセージをキャプチャして出力する方法は?

    Python例外メッセージは、以下の2つのコード例に示すように、さまざまな方法でキャプチャおよび印刷できます。最初の例では、例外オブジェクトのメッセージ属性を使用します。 例 try: a = 7/0 print float(a) except BaseException as e: print e.message 出力 integer division or modulo by zero 指定されたコードの場合、sysモジュールをインポートし、sys.exc_value属性を使用して例外メッセージをキャプチャして出力します。 例 import sys def catchEverything(