単語の長さが十分で、文字列の末尾に記号()[email protected]#$%^&*.,'
が含まれているかどうかをチェックしたいと思います。条件は次のとおりです。文字列内のシンボルのチェックについています
- 単語は3文字以上でなければなりません。シンボル「 - 」正しい言葉は開始時に特殊記号を含めることはできません
- charとしてカウントし、ミドル 文字列の
私は正規表現を使用することにしました:
def check_word(word: str) -> bool:
m = re.match("[^()[email protected]#$%^&*.,]{4,}[()[email protected]#$%^&*.,]*", word)
if m is not None:
return True
return False
print(check_word("Hell,oo")) # False
print(check_word("Hello,!")) # True
print(check_word('Hello"')) # False
なぜ私の質問がありますre.match
の場合は、文字の前に記号があってはならないと指摘しました。True
をprint(check_word("Hell,oo")
に置いておきます。そして、なぜprint(check_word('Hello"'))
がの場合は、'"'
という記号がリストにも含まれていないとしますか?
'^ [!?。^()\ dは_ @の#$%^&*を、 '] {3、} [])\ d!?@#$%^&*。、 '] * $ ' – sln