删除带有重复字符的字符串[Python]

CH1*_*123 1 python regex

我需要确定一个字符串是由一定的重复字符,例如eeeee,55555,或!!!.

我知道这个正则表达式'e{1,15}'可以匹配eeeee但显然无法匹配555.我试过[a-z0-9]{1-15}但它甚至匹配我不需要的字符串Hello.

解决方案不一定是正则表达式.我想不出有任何其他方法可以做到这一点.

Tho*_*mas 5

当且仅当其中的所有字符都相同时,字符串由单个重复字符组成.您可以通过构造字符串集来轻松地测试它:set('55555').

当且仅当集合的大小为1时,所有字符都相同:

>>> len(set('55555')) == 1
True
>>> len(set('Hello')) == 1
False
>>> len(set('')) == 1
False
Run Code Online (Sandbox Code Playgroud)

如果你想允许空字符串(设置大小为0),那么使用<= 1而不是== 1.