1

文字列全体の大文字と小文字をチェックする必要があります。すべて大文字または小文字のもののみを印刷します。

これが私が書いたコードです。

import re

lower = 'abcd'
upper = 'ABCD'
mix = 'aB'
mix2 = 'abcD'
exp = re.compile("[a-z]{2,}|[A-Z]{2,}")

lower_m = re.findall(exp,lower)
upper_m = re.findall(exp,upper)
mix_m = re.findall(exp,mix)
mix2_m = re.findall(exp,mix2)

print(lower_m)
print(upper_m)
print(mix_m)
print(mix2_m)
4

3 に答える 3

4

正規表現ではなく、文字列メソッドupper()を使用してください。lower()

if string.lower() == string or string.upper() == string:
    print string

文字のみが許可されている場合は、 も確認してくださいstring.isalpha()

正規表現が必要な場合、問題は文字列全体をチェックしないことです。

exp = re.compile("^([a-z]{2,}|[A-Z]{2,})$")

これにより、文字列の一部ではなく、文字列全体がパターンに適合する必要があります。

于 2013-08-11T20:13:09.410 に答える