Python Challenge(3)
続いて第3問。
写真の通り、ちょうど3つの大文字に囲まれてる小文字。
import re def challenge003(str): return "".join(re.findall('[^A-Z][A-Z]{3}([a-z])[A-Z]{3}[^A-Z]', str)) if __name__ == '__main__': print(challenge003(open('challenge3.txt').read()))
先頭とケツが漏れるけどまぁいいか。
答えを見てハズレかと勘違いして第4問に行くのにかなり時間食ってしまった。
解説ページに漏れないバージョン発見。
def challenge003_2(str): return "".join(x[1] for x in re.findall('(^|[^A-Z])[A-Z]{3}([a-z])[A-Z]{3}([^A-Z]|$)', str)) def challenge003_3(str): return "".join(re.findall('(?:^|[^A-Z])[A-Z]{3}([a-z])[A-Z]{3}(?:[^A-Z]|$)', str))