2016-09-29 7 views
0

完全なエラーを与えられた。例外TypeError:試合は、()2〜3位置引数から取るが、5は

Traceback (most recent call last): 
    File "N:/Computing (Programming)/Code/name.py", line 3, in <module> 
    valid = re.match("[0-9]","[0-9]","[A-Z]","[a-z]" ,tutorGroup) 
TypeError: match() takes from 2 to 3 positional arguments but 5 were given 

マイコード:

import re 
tutorGroup = input("Enter your tutor group - e.g. 10: ") 
valid = re.match("[0-9]","[0-9]","[A-Z]","[a-z]" ,tutorGroup) 
if valid: 
     print("OK!") 
else: 
     print("Invalid!") 

私は与えられた文字列を検索しようとしていますパラメータ

+0

ある0-9'と' AZ'と 'az'またはあなたがORでそれらをしたいですか、あるいは何か全然違う? – iScrE4m

+0

大文字または小文字の2文字の2桁の入力を受け入れることができるようにしたい。 – syler

答えて

1

問題は、そのre.matchは、2つまたは3つの引数ではなく、5であることです。まず、正規表現パターンと一致する文字列。オプションで、フラグを指定して3番目の引数を取ります。 1桁または1文字に一致させる場合は、[0-9a-zA-Z]を正規表現として使用します。複数の文字または数字が必要な場合は、[0-9a-zA-Z]+を使用できます。数字のリストまたは文字のリスト(混在しない)が必要な場合は、([0-9]+)|[a-zA-Z]+を使用できます。

編集:あなたのコメントを読んだ後、あなたがしたい正規表現が `、正確にあなたがマッチしたいです何[0-9]{2}[a-zA-Z]{2}

+0

エラーが見つかりました!私は仕事に[a-z]を大文字にする必要がありました。ありがとうございました – syler

+0

私の答えがあなたを助けたら、それを受け入れることを検討してください。 – Leon

関連する問題