使用正则表达式在字符串中搜索大写字母



我试图在字符串中找到3、4或5个大写字母。他们可以进行" $"或"(但这是可选的。下面是我所拥有的大写字母,但我不知道如何检查如何进行" $"或"('。

ex:($ 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

regex在这里过大,只需使用普通python。

>>> 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

最新更新