2017-12-24 4 views
-1

文字列内に3文字、4文字、または5文字の連続する大文字を検索しようとしています。以下は省略できますが、大文字を扱うのは私が持っているものですが、 '$'または '(')の文字をチェックする方法はわかりません。正規表現を使用して文字列内の大文字を検索します。

例:($ ABC)、(ABC)、$ ABC、ABC <は---すべて

searches = [r'[A-Z]{5}', r'[A-Z]{4}', r'[A-Z]{3}'] 
correct = '$ABCD' 

     for search in searches: 
      confirmed = re.search(search, correct) 
      if confirmed: 
       return confirmed 
      else: 
       return False 

    Process finished with exit code 0 
+2

Iドン。あなたのコード、入力、出力、そして予想される出力を掲示してください。 – timgeb

+1

'r '[A-Z] {3,5}' 'で簡単にすることができます。 –

+0

Sci Progが答えに感謝し、それを修正しました。 – Lyrics

答えて

2

regexをトリガすべき単なるパイソンを使用し、やり過ぎここにある

>>> correct = '$ABCD' 
>>> any(correct[i:i+3].isupper() for i in range(0,len(correct)-3,3)) 
True 
>>> correct = "AbCD" 
>>> any(correct[i:i+3].isupper() for i in range(0,len(correct)-3,3)) 
False 
関連する問題